Advantage Database 10.1 Service Update release (Delphi XE2 64-bit Support)
An Advantage service update, version 10.10.0.28, has been released and posted to the Developer's Zone at
Highlights of this release include support for Delphi XE2 including 64-bit Delphi Components. The complete list of updates is listed below:
1 0.10.0.28 - Advantage Delphi Components
Support for Delphi XE2
64-bit components to support Delphi XE2
10.10.0.28 - Advantage Database Server
This Service Update of the Advantage Database Server addresses the following issues:
Improved detection of ADM memo file free list corruption.
Fixed a bug that caused comparisons using the LIKE operator to fail when the pattern for the match contained non-ASCII or Unicode characters, or when the source text to be matched was Unicode.
Fixed a bug in the server that could incorrectly reject Clipper client connections with a 7166 error.
Fixed a bug that caused an internal error to be returned when executing an SQL query with an ORDER BY clause containing mixed CHAR and NCHAR data, and when the CHAR data in the ORDER BY was designated with DESC (descending order).
Fixed a bug where a 9055 error was produced when rolling back a transaction to a savepoint.
Fixed an issue that caused sp_GetTables to return "#" for a table name after deleting / dropping a #TEMP table.
Fixed a performance issue with disabled triggers. When triggers were disabled for a user (sp_DisableTriggers), implicit transactions were needlessly started.
Updated ARC to show, by default, the current replication record in the replication queue. If replication stops, this makes it simpler to see the record that caused the replication failure.
Updated the Visual Studio AEP and Trigger template projects to include code to dispose of IDbCommand objects prior to exiting the external function.
Changed a 9046 error into a 5072 error produced when a differential backup destination table or dictionary is read-only.
Fixed an issue that could result in a 9124 error in rare situations in the cache system when a delayed write of a file failed.
Fixed an issue where a FIPS enabled dictionary could not be opened by two processes at the same time using local server.
Fixed a bug that could cause a server crash or dump file to be generated when there are multiple independent RI graphs in the database.
Fixed a bug that could cause a server crash if a 7001 error (memory allocation failure) occurred during the update of a table involved in RI.
Fixed a bug that could cause broken referential integrity relationships. The bug requires an RI cascade update that triggers an update in a table that is in another independent RI graph. In such a case, the RI verification was not done on the table updated by the trigger.
Fixed an issue where the error string for a 2206 error contained "%s" instead of the table name.
Fixed a bug where creating a VFP table with a primary key in SQL could fail if the table name was longer than seven characters.
Fixed a bug where the UPPER and LOWER scalar functions could return an insufficient buffer error if the argument contained certain unicode characters.
Changed the SQL engine to conform to the SQL standard to not require the GROUP BY clause when there is a HAVING clause. An implicit GROUP BY on an empyt set is now assumed when there is no GROUP BY clause.
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 an incorrect result to be returned when a non-correlated subquery was used as the join predicate of a LEFT OUTER JOIN.
Fixed a 3107 error in the server when a client older than 10.0 executed a query containing WEEK, QUARTER, DAYOFYEAR, DAYOFWEEK, HOUR, MINUTE, SECOND, DAYNAME, or MONTHNAME.
Fixed a bug that could cause a server crash when executing an SQL statement of the form "INSERT INTO ... SELECT ... FROM ( EXECUTE PROCEDURE ... ) t"
Fixed a bug that caused an UPDATE statement on a linked table with a table alias to return a 7041 error.
Fixed a bug that caused trigger variables to evaluate incorrectly. The bug could lead to incorrect execution of trigger.
10.10.0.28 - Advantage .NET Data Provider
This Service Update of the Advantage .NET Data Provider addresses the following issues:
Fixed a bug in the Advantage .NET Data Provider that caused the "Update Database from Model" functionality in an ADO.NET Entity Data Model to not maintain the existing entities (tables) in the data model.
Fixed a bug where a LINQ to Entities clause in the form of <field>.Contains("somevalue") would generate POSITION( <field> in
"somevalue"). Now the provider will correctly generate this as POSITION("somevalue" in <field>).
10.10.0.28 - Advantage Client Engine (ACE)
This Service Update of the Advantage Client Engine (ACE) addresses the following issues:
Fixed a bug that could (in rare circumstances) result in incorrect results and 5018 errors when scripts in stored procedures and triggers made multiple references to the __input, __new, and __old tables.
Fixed a bug that caused an incorrect value for the required data size to be returned when a 5005 (Insufficient Buffer) error was produced when retrieving non-unicode data using a Unicode API (AdsGetStringW, AdsGetFieldW).
Fixed a bug in the Advantage Client Engine where a cached copy of the environment variable adsini_path was used when searching for the ads.ini file.
Fixed an issue where the Python driver would return numeric, date, time, and timestamp values as strings. Now it will return them as decimal, date, time, and datetime objects respectively.
10.10.0.28 - Advantage Data Architect (ARC)
This Service Update of the Advantage Data Architect (ARC) addresses the following issues:
Fixed a bug in ARC where the incorrect status of the disabled flag for a trigger was displayed.
Fixed a bug in ARC that caused the stored procedure dialog to exit without saving the procedure if you failed to enter a name for the new procedure.
Fixed a bug where the SQL differentiator generated SQL scripts with statements in the incorrect order for dropping columns and associated indexes.
Fixed an unhandled exception in the table designer when clicking in the field names box when the table contained no fields.
Fixed an access violation on the selection screen for the dictionary differentiator.
10.10.0.28 - 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.
10.10.0.28 - Advantage ODBC Driver
This Service Update of the Advantage ODBC Driver addresses the following issues:
Fixed an issue that would cause the ODBC driver to return blank memo data for Unicode fields.
Fixed a bug in the ODBC driver that could lead to a crash when Unicode data over 2048 bytes was used as a query paraneter.
Fixed a bug in the PHP driver that could lead to the truncation of Unicode olumns that contain non-ANSI unicode characters.
10.10.0.28 - Advantage TDataSet Descendant
This Service Update of the Advantage TDataSet Descendant addresses the following issues:
Fixed a bug in TAdsDictionary.AddTable that incorrectly set the character type to ANSI for tables containing OEM data.
Fixed a bug where an "Unknown Field Type Encountered" error would be thrown when using the Unicode field types with the TAdsStoredProcedure component.