Mini SQL 3 Release Notes and History


8 May 2005 mSQL 3.7


Change log




21 Dec 2004 mSQL 3.6


Change log




19 May 2004 mSQL 3.5


Change log




14 Jan 2003 mSQL 3.4


Change log




3 Dec 2002 mSQL 3.3


Change log




24 Oct 2002 mSQL 3.2


Change log




23 Aug 2002 mSQL 3.1


Change log




30 July 2002 mSQL 3.0 RELEASE


Change log




28 May 2002 mSQL 3.0 Pre-Release 5


Change log




7 May 2002 mSQL 3.0 Pre-Release 4


Change log




5 Sep 2001 mSQL 3.0 Pre-Release 3


Change log




5 Apr 2001 mSQL 3.0 Pre-Release 2


Note
You must recreate your 3.0 database when moving to this release! If you have existing 3.0 database please dump them BEFORE you upgrade your installation.


Change log




20 Feb 2001 mSQL 3.0 Pre-Release 1

Introduction

The first pre-release of the 3.0 code base is now available to the public. This release contains the key architectural changes to the database engine itself as well as some of the new functionality to be included in the 3.0 production code.

It must be stressed that at this time, the mSQL 3.0 software is viewed as Beta quality. It should not be used in production environments and it is most probably only suited to experienced users of Mini SQL. The documentation will not be updated to reflect the changes in 3.0 until the product release is made available. Users that choose to utilise this release should report any problems they experience to the bugs@Hughes.com.au mail address.

Core Architecture.

The core of the database engine has been redesigned to allow multiple queries to be processed simultaneously. In previous versions, if multiple queries were recevied, they were queued and processed sequentially. The design is a "process farm" scheme with a "broker process" responsible for the coordination of state changes within the cluster. The number of processes available to process queries can be set using the Num_Children entry in the configuration file.

Internal Data Encapsulation.

The internals of the engine have been redesigned to ensure that all information pertaining to a query are encapsulated within a single data structure. This is required if sub-queries are to be supported. The framework exists in this pre-release and full support for sub-queries will be included in a later pre-release of the 3.0 code.

Code Structure.

The entire source code tree has been audited and restructured into functional modules. The result has been not only better code structure but an increase in the reliability of the software.

Index Handling.

The index module (CRA) has been extended to support index range lookups. Until now, the query optimiser would only use an index if the conditional test against that index was an equality test. The new module will also utilise the index for conditions that result in a range of values. Currently, range support is limited to the BETWEEN operator but will be extended to include less-than and greater-than conditions in the next pre-release. An example of the syntax is shown below.

	SELECT last_name FROM staff WHERE staff_id BETWEEN 1 AND 10 

Result Tables.

Support has been added for the SELECT INTO construct. This allows the result of a query to be stored in a new table. An example of the syntax is shown below. Naturally the target table must not exist prior to the execution of the query.

	SELECT first_name, last_name INTO names FROM staff

SQL Functions.

The framework for supporting functions within queries has been added. At this stage, only value functions are supported, not aggregate functions (e.g. UPPER(first_name) is supported but COUNT(*) is not). Also, functions are only currently supported on select fields, not in conditions. Support for functions within conditions and aggregate functions will be added in the coming pre-releases. The standard SQL functions currently supported are

String related : UPPER( )
UPPER( )
LOWER( )
LENGTH( )
SUBSTR( )
TRANSLATE( )
REPLATE( )
SOUNDEX( )
 
Number related : ABS( )
CEIL( )
FLOOR( )
MOD( )
SIGN( )
POWER( )

Extra Types.

More native data types are being added. Support for IP Addresses (IPv4 type) has been added. Further types will be added in the future. An example use of the IPv4 type is shown below.

	SELECT * FROM hosts WHERE addr = '10.0.0.1'

Misc Changes.

The default installation of the software has been changed to reflect the new code series. The software is now installed in /usr/local/msql3 by default.


Copyright © 2001, Hughes Technologies Pty Ltd. All Rights Reserved.
Last updated 04 Sep 2006.