Advantage 9.1 Service Update Available (9.10.0.21)



A 9.1 Update (9.10.0.21) is now available on the Developer's Zone 9.1 Product Download Area

9.10.0.21 - Advantage .NET Data Provider
This Service Update of the Advantage .NET Data Provider addresses the following issues:
  • Added a publisher policy assembly to the .NET Data Provider installation to allow applications linked with earlier versions of the provider to run with the new version.
  • Fixed a bug in the Advantage .NET Data Provider that caused connection strings not to be parsed correctly for some locales (tr-TR specifically).
  • Added an Unprepare() method to the AdsCommand class of the Advantage .NET data provider to allow closing the SQL statement handle and releasing the tables opened on the server.
  • Fixed issues in the Advantage .NET Data Provider (in the DDEX portion) that caused various errors in the Visual Studio 2008 and Visual Studio 2010 query designer. The Query Builder created statements with a space character between the parameter marker and the parameter name. It also resulted in errors when dragging stored procedures onto a DataSet (to create a TableAdapter object).
  • Added Visual Studio 2010 support.
9.10.0.21 - Advantage Client Engine (ACE)
This Service Update of the Advantage Client Engine (ACE) addresses the following issues:
  • Fixed a bug when restructuring DBF tables (ALTER TABLE) that resulted in DBF table headers losing the flag that indicated the existence of a structural (auto-open) index file.
  • Improved logic of AdsSetScope to avoid 5088 error.
  • Fixed an issue where encrypted free tables were not correctly decrypted when referenced via a path in an SQL statement. For example: select * from "c:\path\to\data\table.adt"
  • Modified the error text for a 5111 error to include the parameter name.
  • Fixed an issue where ACE32.DLL would hang when loaded on a Citrix XenDesktop client.
9.10.0.21 - Advantage Communication Layer
This Service Update of the Advantage Communication Layer addresses the following issues:
  • Fixed a bug that could cause a TCP connection to hang.
9.10.0.21 - Advantage Data Architect (ARC)
This Service Update of the Advantage Data Architect (ARC) addresses the following issues:
  • Fixed an issue where ARC would show up off the visible desktop if previously opened on a screen that was no longer attached.
  • Fixed an issue where ARC would start with its main form minimized if it was minimized when the application was last closed.
  • Fixed an issue with two packages containing functions with the same name.
  • Changed "Export Tables to Code" functionality to use the correct lock type for the current database.
  • Fixed a bug that prevented Advantage Data Architect from using the ADSINI_PATH environment variable to locate the ADS.INI file.
  • Fixed an issue where ARC would hide the query plan tab after executing the "show plan" functionality in the query utility.
  • Fixed an issue where the ARC table designer would not place a separator between fields when dragging a field to change its position in the table.
  • Fixed an issue where the ARC table designer (and the table component editor in Delphi) could raise a 5098 "table already encrypted" error when saving a new table.
  • Fixed an issue that would cause an EAccessViolation error when trying to add members to a new group.
  • Fixed an issue where the ARC remote management screen would flicker when loading.
  • Fixed an issue where an exception was thrown with the text, "poMemo: Field 'FieldName' not found", if the table browser memo editor was used, and then the table designer was used to delete the memo field.
  • Fixed an issue where the ARC SQL Utility doesn't place the cursor correctly after clicking to the right of the last line in a script if the line has tabs.
  • Improved the dictionary compare tool handling of SQL Script stored procedures and FTS delimiter characters.
  • Fixed an issue where the ARC "Tables To Code" functionality could generate invalid decimal values if the Windows locale decimal separator setting was not a period/dot.
9.10.0.21 - Advantage Database Server
This Service Update of the Advantage Database Server addresses the following issues:
  • Fixed a bug that allowed applications to store invalid IEEE floating point values in fields of type double.
  • Fixed an issue that could cause a 5035 and 7078 error when multiple local server threads or processes were logging in as ADSSYS at the same time.
  • Fixed an issue where a subindex build on a shared master index could return a 9071 error if other users modified the master index while the subindex was being built.
  • Updated the server to not log spurious 7008 and 7039 errors during replication.
  • Fixed a broken link in the help file "Supported SQL Statements" topic.
  • Fixed an error logging issue that caused the server to log a 9094 error in a situation caused by a client communication error. 9000 class errors cause the server to produce a crash dump file. It now logs a 7000 class error and continues processing.
  • Fixed an issue that can lead to a server crash after a corrupt index file is opened.
  • Enhanced the sp_restoredatabase() procedure to allow members of the DB:Backup and DB:Admin groups to restore the database.
  • Fixed an issue where the server could write a crash dump file when shutting down with active users currently committing a transaction.
  • Fixed a bug that could cause periodic delay on a busy server performing a large number of updates.
  • Fixed a bug in the query engine that allowed stale data to be read when using ROWID in the WHERE clause of a SELECT statement.
  • Changed the behavior of DLL caching for AEP and trigger DLLs in Advantage Database Server for NT and Linux. Rather than unload the DLLs when the last user disconnects who was referencing the DLL, the server now keeps the DLLs loaded until the DLL is either replaced or until the server is shut down. This change was made to work around memory leaks in DLLs created with Delphi.
  • Fixed a 9066 error when canceling a query that was in the process of building a temporary index.
  • Fixed a 9009 error when opening a Visual FoxPro DBF table when the number of fields is greater than the stored information in the data dictionary.
  • Improved Linux server's handling of Server-Side aliases that are configured with UNC paths.
  • Fixed a bug that caused a 9055 error to be logged when replicating a DBF table with memo data that had been updated inside a transaction.
  • Fixed a bug that caused a table-autocreation failure when the table was encrypted and the operation being performed was inside transaction. For example, when a trigger is being fired and it requires an encrypted table to be auto-created.
  • Fixed a bug where a cascading RI update would fail if the primary key was a compound key and one of fields in the compound key was an autoinc field.
  • Addressed an issue in the server that could result in large numbers of 6221 errors being logged.
  • Fixed a bug that could result in an access violation in the server or in the client code or possibly result in a 6605 being returned to the client. It could occur in very specific situations involving live cursors having WHERE clauses exceeding 64K.
  • Fixed a bug in the server that made it possible for an access violation to occur if an invalid authentication request was made for an existing data dictionary connection.
  • Fixed a bug that could result in a server crash if the WHERE clause of a query was slightly less than 1024 bytes in length. Additional conditions had to be met for this to occur: 1) Field names involved in the WHERE clause had to be 2 characters in length, and 2) the column position had to be 10 or greater.
  • Fixed a bug in the server that resulted in an access violation when ALTER FUNCTION changed a function having one or more parameters to one that had no parameters.
  • The Advantage help file has been repackaged as a Microsoft Compiled HTML Help.
  • Fixed a bug that caused backups of Visual FoxPro DBF tables with long field names to return a 5012.
  • Fixed a 9071 error when using VFP tables with after insert triggers.
  • Fixed an issue that would prevent sp_DisableQueryLogging from disabling the query log if the current connect path differs from the connect path used to enable query logging.
  • Fixed an error that can cause a 9095 to be logged when shutting down a server with an expired evaluation license.
  • Fixed an issue that could lead to an incorrect 5088 error when executing certain SQL statements that reference DBF tables with numeric fields.
  • Modified the server to not generate crash dump when invalid data is received from the connection request listening socket.
  • Fixed an issue where backup and table creation could sometimes create filenames with all uppercase characters, rather than preserving the character case.
  • Fixed a bug that caused mixed cased file name/extension being stored in the data dictionary for the auto-open index files. The mixed cased file name may cause table open failure on Linux server.
  • Fixed an issue where a reindex operation would lose index conditions on IDX index files.
  • Fixed an issue where running multiple backups at the same time would report blurry snapshots (error 5200) even when other threads where not active and could not affect the validity of the backup image.
  • Fixed a bug in the server that caused OEM data in DBF tables to be replicated incorrectly if the table was replicated to more than one target.
  • Fixed a 7105 error when cleaning up a failed transaction on an FTS index at startup.
  • Modified replication processing algorithm for improved performance when there are many deleted records in the replication queue.
  • Fixed a memory leak that can be caused by replicating OEM memo data to multiple targets. The error only exists in v9.10.0.20.
  • Fixed a rare deadlock situation with referential integrity.
  • Fixed bug in the server that caused incorrect result being returned when setting an AOF in the form "EMPTY(fld) = FALSE". This bug also affected SQL statement with such expression in the WHERE clause.
  • Changed the DBF header date to be compatible with 3rd party utilities.
  • Fixed an issue that could cause the server to deadlock and hang when shutting down with active users.
  • Fixed a bug that may cause 4004 error when an index is built using expression with LEFT(), RIGHT() or SUBSTR().
  • Fixed an issue where using a special character in a column alias name could cause the server to hang.
  • Fixed bug that caused 7112 error being returned when trying to zap a temporary table using the sp_ZapTable() stored procedure.
  • Fixed a bug that may cause server crash when subquery is used as the count expression in a "SELECT COUNT( DISTINCT ... )" query.
  • Fixed an issue where using a binary parameter or variable inside a user defined function (UDF) could sometimes result in a native error 2101, "Memory Allocation Error".
  • Fixed a bug that caused the SQL engine to erroneously short circuit the execution of a user defined function.
  • Fixed a performance issue when executing a query that used a temporary index on a rapidly changing table.
  • Fixed a bug that caused query performance to degrade when the data distribution in the underlying tables changed. The query optimizer was using stale information to generate the execution plan.
  • Fixed a bug in the SQL engine that caused a 9111 error on the server when a UDF was used in the statement's WHERE clause, and predicate substitution optimization was a viable option.
  • Fixed a bug that causes incorrect query result or incorrect error when multiple UDF are present in the GROUP BY clause.
  • Fixed an issue with the IIF and CASE scalars when they return BLOB values.
  • Fixed issue where time value comparison behavior in SQL changed from v8.1.
  • Enhanced the SQL query engine to use available index to optimize YEAR(), MONTH(), DAY() and EMPTY() scalar if the corresponding indexes are available.
  • Fixed a bug in the SQL query execution plan retrieval that may cause server crash.
  • Fixed a bug that caused access violation when a user defined function returned character string that is longer than the function's declared return type.
  • Fixed an issue where a static query can return the wrong results if using a <= or >= operator in the WHERE clause and the field reference is on the right side of the comparison.
9.10.0.21 - Advantage JDBC Driver
This Service Update of the Advantage JDBC Driver addresses the following issues:
  • Fixed a bug that caused JDBC driver to return rows of live result set in reverse order.
  • Fixed a bug in JDBC driver where an incorrect SQLException is thrown when ResultSet.isLast() is called when the resultset is before first row or after last row.
9.10.0.21 - Advantage ODBC Driver
This Service Update of the Advantage ODBC Driver addresses the following issues:
  • Fixed an issue where the ODBC driver would cause an access violation if the SQLGetDiagField function was called and trying to retrieve the SQL_DIAG_SERVER_NAME field using an environment handle. One specific instance of this failure can be caused when configuring or using a file DSN on a Windows Vista or Windows 7 client.
9.10.0.21 - Advantage OLE DB Provider
This Service Update of the Advantage OLE DB Provider addresses the following issues:
  • DBCConvert has renamed to CloneDBC and enhanced. The utility now includes a GUI.
  • Updated the Advantage OLE DB Provider to work better when importing data with Microsoft Office products such as Excel and Word (through MSQuery). Depending on the import method, it was possible to receive error messages such as "The Data Connection Wizard cannot obtain a list of databases from the specified data source." or "Unable to obtain list of tables from the data source."
  • Fixed an issue with setting the connection type to TCP/IP in the connection string.
9.10.0.21 - Advantage PHP Extension
This Service Update of the Advantage PHP Extension addresses the following issues:
  • Added support for PHP 5.3.x.
  • Fixed a bug in the Advantage PHP Extension that would cause a NULL value to be inserted instead of FALSE when using parameters with logical fields.
9.10.0.21 - Advantage TDataSet Descendant
This Service Update of the Advantage TDataSet Descendant addresses the following issues:
  • Fixed an issue where TAdsQuery.ParamCount may be incorrect when the SQL property contains an odd number of single-quotes.
  • Fixed a bug that caused Numeric fields to be shortened when created via AdsTable.CreateTable.
  • Fixed an issue that can cause an "Unsupported DataType" exception in Delphi 2010 when working with string parameters.
  • Fixed an issue where Delphi would not use client search path to locate ADS.INI file if ADSINI_PATH environment variable is set and the file is not in that location.