RELEASE NOTES
RELEASE NOTES

FrontBase 4.1.14 - Release Notes

This is a maintenance release with focus on bug fixes.

The current distribution for Mac OS X has built using 10.3.5.

FrontBase 4.1.14 - Bug fixes:

FETCH NEXT FROM <cursor>; caused an infinite loop in the server.

LookSee now works properly on UTF8 (Unicode) encoded source strings.

Certain combinations of multi-column indexes, literal values and join columns could cause incorrect result sets.

INSERT INTO <table>(<column>) ...; caused the server to crash if the <column> didn't exist in the <table>.

Very long CHECK constraints (<expr> AND <expr> AND ...) would cause crashes or memory thrashing if checking the constraint led to an error.

PREPARE ALTER TABLE <table> SET INDEX PRESERVE TIME; EXECUTE 0; caused the server to crash or yield "weird" errors.

Variables weren't always used for index lookups in certain queries.

INSERT INTO T0 SELECT ... FROM T0 WHERE ...; has been optimized so table scans are avoided in more cases.

Incorrect maintenance of an implicit result set cache could lead to incorrect result sets.

Certain complex JOIN and RIGHT OUTER JOIN queries could crash the server.

sql92

Sql92 now supports cluster management with the following commands:

Set Default Database

SET DEFAULT DATABASE <database-name> [ON | @ | HOST <host-name>]
   [DATABASE PASSWORD '<password>']
   [PASSWORD          '<password>']
   [HOST PASSWORD     '<password>'];

Identify the specified database as the "default" database. The default database identifies the master database for replication commands, and a (n arbitrary) cluster member for clustering commands. Any necessary password may be specified.

Show Default Database

SHOW DEFAULT DATABASE;

Show the current default database.

Create Cluster

CREATE CLUSTER [OPTIONS <option> ...];

Create a cluster consisting of the default database (only). If the default database does not exist, a new database is created. Then a server for the default database is started, supplementing the -rcluster option with the specified options, if any.

Start Cluster

START CLUSTER;

Attempt to start servers for all members of the cluster identified by the default database. The servers will be started in the proper order.

Stop Cluster

STOP CLUSTER;

Attempt to stop any running servers for all members of the cluster identified by the default database.

Show Cluster

SHOW CLUSTER [DESCRIPTOR | ALL];

Display properties of the cluster identified by the default database. DESCRIPTOR, if specified, directs certain static information about the cluster to be displayed whereas ALL, if specified, requests further dynamic information to be displayed.

Set Cluster Descriptor

SET CLUSTER DESCRIPTOR;

Distribute the cluster descriptor associated with the cluster member identified by the default database to all members identified by said cluster descriptor. After this operation, all cluster descriptors of all members of a cluster should be consistent (provided that all members were accessible), and that is exactly the purpose of this command.

Add Member

ADD MEMBER <database-name> [ON | @ | HOST <host-name>] [OPTIONS <option> ...];

Add the specified database as a member to the cluster identified by the default database. If the specified database does not exist, a new database is created, and it must be possible to bring the new member up-to-date from existing members of the cluster. A server for the new member is started, supplementing the -rcluster option with the specified options, if any.

Remove Member

REMOVE MEMBER <database-name> [ON | @ | HOST <host-name>];

Remove the specified database from the cluster identified by the default database.

Start Member

START MEMBER <database-name> [ON | @ | HOST <host-name>] [OPTIONS <option> ...];

Attempt to start a server for the specified cluster member, supplementing the -rcluster option with the specified options, if any.

Stop Member

STOP MEMBER <database-name> [ON | @ | HOST <host-name>];

Attempt to stop a running server for the specified cluster member.

Show Member

SHOW MEMBER <database-name> [ON | @ | HOST <host-name>] [DESCRIPTOR | ALL];

Display properties of the specified cluster member. DESCRIPTOR, if specified, directs certain static information about the cluster to be displayed whereas ALL, if specified, requests further dynamic information to be displayed.

Set Member

SET MEMBER <database-name> [ON | @ | HOST <host-name>] MAJORITY TRUE | FALSE;

SET MEMBER <database-name> [ON | @ | HOST <host-name>] READONLY TRUE | FALSE;

Set the specified property to the specified value for the specified cluster member. The explicit setting of the readonly property to FALSE opens for the possibility to create inconsistencies between cluster members, and should only be done by someone knowledgeable.

FrontBase PlugIn 2.6.1

Fixed bug in FrontBasePlugIn.createTableStatementsForEntityGroup (Bug in SQL generation).

FrontBaseManager 4.3

It is now possible to manage clusters.

Replication management has been improved.

From the SQL Interpreter panel the 'Execute File' now recognizes files with extensions .sql, .txt and .text.

The panel to stop a database has been simplified.

The panel to connect to a database by double-clicking at it has been simplified.

You can now remove a reachable host from the host list in the monitor panel.

When specifying -sdisk as a startup or create option you must specify the path to the key file. This field has bee added to the panel.

It is now possible to see the startup options for the selected database by clicking the 'Show Options' in the Database menu.

It is now possible to create and delete domains and use them in column definitions.

Sometimes when editing schema objects and an error was encountered, no further changes could be made until you made a new connection to the database. This has been currected.

When viewing table content and adding a where clause, you can now use the ESC button to refetch objects.

When editing table definitions the order of the columns is the order retrieved from the database server. Now you can sort the columns by their name by clicking the header of the 'Name' column.

When updating table definitions you would have manually end the editing for the update to take effect. This has been changed.

The sql for retrieving privilege information has been optimized.

The two columns: 'Transaction #' and 'Calls' in the usage pane can now be resized.