The final Advantage Database Server 9.1 Service Update (9.10.0.35) has been posted to the Advantage Developer’s Zone
9.10.0.35 - Advantage Database Server
Fixed a bug in the replication engine that caused invalid connections to be kept in the connection pool. When a connection receives a 6000 class error, it typically cannot be used any more, but the replication engine kept such connections in the pool until they were timed out.
Fixed a bug that allowed tables to be deleted from the data dictionary while the table had active replication queue entries. This could occur if the base table name was longer than 24 characters.
Changed the query engine to handle DOUBLE column definitions with 0, 1, and 2 parameters.
Fixed a bug in the server that could result in the logging of a 9107 error.
Fixed an issue where the server could fire incorrect trigger types if the client had the SHOW DELETED setting on, deleted records existed, and updates were being performed on deleted records.
Fixed an issue where indexes built prior to 9.10.0.21 or 10.0.0.3 but used with aforementioned versions or newer caused 4004 errors.
Fixed a bug in the server that could result in query elements being leaked on the server by calls to sp_WaitForEvent and sp_WaitForAnyEvent. This could result in access violations and 9003 errors when used with .NET clients.
Fixed a bug that could result in 9111 errors when using temporary tables when the physical file path length exceeded the length of the network share path.
Fixed a bug that caused the YEAR AOF function to be incorrectly optimized when used in conditions that were not checking for strict equality (e.g., less than, greater than, etc.).
Fixed a bug in the server that could result in an access violation in the server if some rare conditions were met and the sp_mgKillUser or AdsMgKillUser APIs were used while a connection was in progress.
Fixed a bug that caused incorrect SQL progress information being returned when a "CREATE INDEX ..." statement was part of the SQL script. This bug could lead to an "Invalid floating point operation" error when the SQL script is very large.
Fixed a bug that caused the SHOW PLAN statement to hang when using an IDX (non-structural) index.
Fixed a bug in the Linux server that could result in users being timed out incorrectly. This could result in 7020 errors being logged and possibly 7209 errors being returned to the client.
Fixed a bug in the server that could result in unexpected 5041 errors and possibly a server crash when running triggers on many threads concurrently.
Fixed a 9094 error when executing a stored procedure in a loop using UDP on a network that has packet loss issues.
Fixed a 9066 error caused by canceling an SQL statement that caused an auto-create of an index inside of a transaction.
Fixed a 7028 error when modifying a view statement involving tables opened with compatibility locking.
Fixed an access violation when restoring a data dictionary with the incorrect password.
Fixed an issue where large blob transfers via the TCP protocol could result in 6412 errors on the client, or could cause the server to log a 10055 error and the client to hang.
Fixed a spurious 5068 error when creating referential integrity rules.
Fixed an issue where a malformed UDP login packet could cause the server to crash. This vulnerability could be used in a denial of service attack against Advantage servers. The loss of data or any form of data corruption is not likely. Execution of malicious code is not possible.
Changed a 9046 error into a 5072 error produced when a differential backup destination table or dictionary is read-only.
Fixed a bug that prevented an SQL query with GROUP BY on an expression using a user-defined function from being executed. An example statement that failed to executed was: SELECT fn1( x ) FROM table1 GROUP BY fn1( x )
Fixed a bug that could cause a trigger script to fail if the last statement executed in the script was a SELECT statement.
Fixed a bug that allowed package names to contains spaces.
Fixed a bug in the SQL query engine that caused poor query performance when a view or subquery was used as part of a multi-table join.
Fixed a bug that caused poor SQL query performance when the join condition was only partially optimized.
Fixed a bug that prevented cartesian joins in SQL from being canceled.
Fixed a bug that caused SQL queries to fail when no precision value was specified for the resultant data type when using the CAST() or CONVERT() scalars.
Fixed a bug that caused a 2136 error when using ARC to create a User Defined Function that has a Double type as an input parameter or return value.
Fixed a bug that could lead to a server crash when executing an SQL statement whose WHERE clause included thousands of conditions combined with the OR operator.
Fixed a bug that could cause 2111, "Out of range", error being returned when the CAST() scalar is used to convert a value into SQL_BINARY or SQL_VARBINARY type without specifying the precision of the result.
Fixed a bug that led to an incorrect number of rows being returned for SQL statements of the form "SELECT TOP x PERCENT 'abc' FROM ...". The problem occurred when the select list had only constant or literal values.
Fixed a bug in the SQL engine that caused a failure when a precision numeric value was used as the input parameter for the sqrt(), log(), log10, and atan2() scalars.
Fixed a problem where AdsGetLastError would return AE_FILE_NOT_ON_SERVER after a failed AdsCopyTable operation (instead of returning the actual error code).
Fixed an issue where creating a new database would overwrite an existing database.
Fixed a bug that caused no error to be returned (or the wrong error) when NTX or CDX tables were used with VFP collations. The bug occurred only when using data dictionary bound tables. A 5025 error will now be returned in this situation.
Fixed a bug that caused table corruption when an encrypted table was restructured, and the restructure failed due to a constraint violation.
Fixed a bug in the JDBC driver that could cause a connection error when the same Properties object was used by the DriverManager.getConnections() method in multiple threads.
Fixed a bug that caused an exception when reading a memo column that was updated by another user after the initial query. The exception may not have additional error information or it may have error code 5403.
Fixed a JDBC driver bug that could cause a 9084 error being returned by the server when a PreparedStatement had more than 64KB of parameter data.
Fixed a bug that caused JDBC driver to raise an exception with error 5403 after an unexpected error was returned by the server.
Fixed a bug in the Advantage .NET Data Provider that caused connections to be destroyed rather than reused from the pool when the "Connection Lifetime" connection property was set to a non-zero value.
Fixed a bug that caused the Visual Studio IDE to crash when creating a TableAdapter with a SELECT statement in which the table name case (upper/lower) did not match the name of the actual file on disk. The fix for this issue is in the server (Advantage Database Server and/or Advantage Local Server).
Fixed a bug where the message "This files is in use." was displayed when using the Open file dialog in the Connection String builder of the AdsDataAdapter Configuration wizard for creating a data dictionary connection.
Fixed a bug in the client communications layer that could result in a 9026 error being logged by the server when shared memory communication was used.
Fixed issue with functions that have the same name, but exist in more than one package.
Updated Advantage Data Architect to include functions when generating an SQL script from the top level node.
Fixed the error "error reading poArticles.LoadedCompletely: Property is read_only" when trying to open a publication in Advantage Data Architect.
Fixed an issue where Advantage Data Architect would not re-open on a secondary monitor if the last time it was closed the main window was in the maximized state.
Fixed upgrade scripts to not add subscription queue tables.
Fixed an issue in the Advantage Data Architect table designer where you could not drag fields up if the form was so small that only 3 or 4 fields were visible.
Fixed an Advantage Data Architect issue that would prevent users from browsing to select a table to open if that table was already opened by the Advantage server.
Fixed an issue where Advantage Data Architect would not generate a valid CREATE INDEX statement for FTS indexes.
Fixed an issue where Advantage Data Architect would not correctly restore the main form's dimensions after being closed with the window maximized.
Changed Advantage Data Architect to respect the disable trigger checkbox when creating triggers.
SQLFreeHandle and SQLFreeStmt with SQL_DROP were changed to not access the user buffer set with SQLSetStmtAttr and the attribute SQL_ATTR_ROWS_FETCHED_PTR.
Added support for Delphi XE2 (32-bit only)
Fixed a bug that caused the Delphi method TAdsTable.RestructureTable to return a 5027 error if one of the VFP collations was specified as the character type for a free table.
Fixed an issue where the TDataSet Switcher would overwrite previously backed-up files when doing a switch (with backup enabled) immediately following the installation of a new TDataSet version.
Fixed an issue with the Vulcan.NET RDD where double and curdouble field values were not returned correctly.
Fixed parameter support with the VO SQL RDDs.
As announced in August of 2011, Advantage Database Server 9.1 will End of Life on August 17, 2012
9.10.0.35 - Advantage Database Server
This Service Update of the Advantage Database Server addresses the following issues:
Fixed a bug that allowed tables to be deleted from the data dictionary while the table had active replication queue entries. This could occur if the base table name was longer than 24 characters.
Changed the query engine to handle DOUBLE column definitions with 0, 1, and 2 parameters.
Fixed a bug in the server that could result in the logging of a 9107 error.
Fixed an issue where the server could fire incorrect trigger types if the client had the SHOW DELETED setting on, deleted records existed, and updates were being performed on deleted records.
Fixed an issue where indexes built prior to 9.10.0.21 or 10.0.0.3 but used with aforementioned versions or newer caused 4004 errors.
Fixed a bug in the server that could result in query elements being leaked on the server by calls to sp_WaitForEvent and sp_WaitForAnyEvent. This could result in access violations and 9003 errors when used with .NET clients.
Fixed a bug that could result in 9111 errors when using temporary tables when the physical file path length exceeded the length of the network share path.
Fixed a bug that caused the YEAR AOF function to be incorrectly optimized when used in conditions that were not checking for strict equality (e.g., less than, greater than, etc.).
Fixed a bug in the server that could result in an access violation in the server if some rare conditions were met and the sp_mgKillUser or AdsMgKillUser APIs were used while a connection was in progress.
Fixed a bug that caused incorrect SQL progress information being returned when a "CREATE INDEX ..." statement was part of the SQL script. This bug could lead to an "Invalid floating point operation" error when the SQL script is very large.
Fixed a bug that caused the SHOW PLAN statement to hang when using an IDX (non-structural) index.
Fixed a bug in the Linux server that could result in users being timed out incorrectly. This could result in 7020 errors being logged and possibly 7209 errors being returned to the client.
Fixed a bug in the server that could result in unexpected 5041 errors and possibly a server crash when running triggers on many threads concurrently.
Fixed a 9094 error when executing a stored procedure in a loop using UDP on a network that has packet loss issues.
Fixed a 9066 error caused by canceling an SQL statement that caused an auto-create of an index inside of a transaction.
Fixed a 7028 error when modifying a view statement involving tables opened with compatibility locking.
Fixed an access violation when restoring a data dictionary with the incorrect password.
Fixed an issue where large blob transfers via the TCP protocol could result in 6412 errors on the client, or could cause the server to log a 10055 error and the client to hang.
Fixed a spurious 5068 error when creating referential integrity rules.
Fixed an issue where a malformed UDP login packet could cause the server to crash. This vulnerability could be used in a denial of service attack against Advantage servers. The loss of data or any form of data corruption is not likely. Execution of malicious code is not possible.
Changed a 9046 error into a 5072 error produced when a differential backup destination table or dictionary is read-only.
Fixed a bug that prevented an SQL query with GROUP BY on an expression using a user-defined function from being executed. An example statement that failed to executed was: SELECT fn1( x ) FROM table1 GROUP BY fn1( x )
Fixed a bug that could cause a trigger script to fail if the last statement executed in the script was a SELECT statement.
Fixed a bug that allowed package names to contains spaces.
Fixed a bug in the SQL query engine that caused poor query performance when a view or subquery was used as part of a multi-table join.
Fixed a bug that caused poor SQL query performance when the join condition was only partially optimized.
Fixed a bug that prevented cartesian joins in SQL from being canceled.
Fixed a bug that caused SQL queries to fail when no precision value was specified for the resultant data type when using the CAST() or CONVERT() scalars.
Fixed a bug that caused a 2136 error when using ARC to create a User Defined Function that has a Double type as an input parameter or return value.
Fixed a bug that could lead to a server crash when executing an SQL statement whose WHERE clause included thousands of conditions combined with the OR operator.
Fixed a bug that could cause 2111, "Out of range", error being returned when the CAST() scalar is used to convert a value into SQL_BINARY or SQL_VARBINARY type without specifying the precision of the result.
Fixed a bug that led to an incorrect number of rows being returned for SQL statements of the form "SELECT TOP x PERCENT 'abc' FROM ...". The problem occurred when the select list had only constant or literal values.
Fixed a bug in the SQL engine that caused a failure when a precision numeric value was used as the input parameter for the sqrt(), log(), log10, and atan2() scalars.
9.10.0.35 - Advantage Client Engine (ACE)
This Service Update of the Advantage Client Engine (ACE) addresses the following issues:
Fixed a problem where AdsGetLastError would return AE_FILE_NOT_ON_SERVER after a failed AdsCopyTable operation (instead of returning the actual error code).
Fixed an issue where creating a new database would overwrite an existing database.
Fixed a bug that caused no error to be returned (or the wrong error) when NTX or CDX tables were used with VFP collations. The bug occurred only when using data dictionary bound tables. A 5025 error will now be returned in this situation.
Fixed a bug that caused table corruption when an encrypted table was restructured, and the restructure failed due to a constraint violation.
9.10.0.35 - Advantage JDBC Driver
This Service Update of the Advantage JDBC Driver addresses the following issues:
Fixed a bug that caused an exception when reading a memo column that was updated by another user after the initial query. The exception may not have additional error information or it may have error code 5403.
Fixed a JDBC driver bug that could cause a 9084 error being returned by the server when a PreparedStatement had more than 64KB of parameter data.
Fixed a bug that caused JDBC driver to raise an exception with error 5403 after an unexpected error was returned by the server.
9.10.0.35 - Advantage .NET Data Provider
This Service Update of the Advantage .NET Data Provider addresses the following issues:
Fixed a bug that caused the Visual Studio IDE to crash when creating a TableAdapter with a SELECT statement in which the table name case (upper/lower) did not match the name of the actual file on disk. The fix for this issue is in the server (Advantage Database Server and/or Advantage Local Server).
Fixed a bug where the message "This files is in use." was displayed when using the Open file dialog in the Connection String builder of the AdsDataAdapter Configuration wizard for creating a data dictionary connection.
9.10.0.35 - Advantage Communication Layer
This Service Update of the Advantage Communication Layer addresses the following issues:
9.10.0.35 - Advantage Data Architect (ARC)
This Service Update of the Advantage Data Architect (ARC) addresses the following issues:
Updated Advantage Data Architect to include functions when generating an SQL script from the top level node.
Fixed the error "error reading poArticles.LoadedCompletely: Property is read_only" when trying to open a publication in Advantage Data Architect.
Fixed an issue where Advantage Data Architect would not re-open on a secondary monitor if the last time it was closed the main window was in the maximized state.
Fixed upgrade scripts to not add subscription queue tables.
Fixed an issue in the Advantage Data Architect table designer where you could not drag fields up if the form was so small that only 3 or 4 fields were visible.
Fixed an Advantage Data Architect issue that would prevent users from browsing to select a table to open if that table was already opened by the Advantage server.
Fixed an issue where Advantage Data Architect would not generate a valid CREATE INDEX statement for FTS indexes.
Fixed an issue where Advantage Data Architect would not correctly restore the main form's dimensions after being closed with the window maximized.
Changed Advantage Data Architect to respect the disable trigger checkbox when creating triggers.
9.10.0.35 - Advantage ODBC Driver
This Service Update of the Advantage ODBC Driver addresses the following issues:
9.10.0.35 - Advantage TDataSet Descendant
This Service Update of the Advantage TDataSet Descendant addresses the following issues:
Fixed a bug that caused the Delphi method TAdsTable.RestructureTable to return a 5027 error if one of the VFP collations was specified as the character type for a free table.
9.10.0.35 - Advantage TDataSet Switch Utility
This Service Update of the Advantage TDataSet Switch Utility addresses the following issues:
9.10.0.35 - Advantage Visual Objects Driver
This Service Update of the Advantage Visual Objects Driver addresses the following issues:
Fixed parameter support with the VO SQL RDDs.