Check Rights is no Longer the Default
The default behavior for rights checking has been changed. The new default behavior is to ignore the rights checking setting for table opens and creations and always ignore the client rights check. Free table opens in most clients would previously default to do rights checking; the client would do an existence check for a table before attempting to open it. For most applications, this was an unnecessary and potentially expensive check that could result in long timeouts on the client. And if a developer did not explicitly turn off rights checking, then their application would be penalized without them realizing it. Note that this only affects direct free table opens; it has no affect on SQL statements or opening of data dictionary-bound tables.
In order to restore the previous (pre-version 10.0) behavior to your application, it is necessary to call the Advantage Client Engine API AdsSetRightsChecking. This new behavior requires the v10.0 client. Older clients are not affected by this change in behavior.
NetWare version 1 Advantage Extended Procedures (AEPs)
Version 1 AEPs are no longer supported with NetWare servers. The AEP version is determined by the prototypes exposed by the DLL in conjunction with the GetInterfaceVersion export. Version 1 AEP's need to be migrated to a newer template which can be found in both the Delphi and Visual Studio project templates area when creating a new project. See AEP Interface Version Comparison for details.
Delphi for .NET No Longer Supported
Delphi for .NET is no longer supported, and Advantage version 10 components for Delphi for .NET will not be shipped. Older versions will still continue to work against newer servers, however. Also note that this only applies to the Delphi for .NET product line (TDataSet.NET). Delphi Prism is still fully supported via the Advantage ADO.NET provider.
Crystal Reports Driver Settings
In version 10 we have added per-alias Crystal Reports settings instead of only providing global settings (for options like Collation, LockingMode, ShowDeleted, etc). As a side-effect, if these new per-alias settings already exist in the ads.ini file (and they might, as they use the same format as the Advantage Data Architect connection repository settings), they will now be used instead of the global settings in the [Crystal] section.
SQL LIKE Operator Escape Characters
Prior to version 10 release, if the '%' or '_' character was specified as the escape character for an SQL LIKE comparison, the SQL statement would execute successfully but the comparison performed might not be intended by the user. For example, the expression "Column LIKE 'ab%%%' ESCAPE '%'" would only match columns that where exactly 'ab' instead of columns with the prefix 'ab'. Starting with version 10, an error will be returned if '%' or '_' is being specified as the escape character for the LIKE comparison. If the application receives an error message "ESCAPE clause must be a single ASCII character that is not '%' or '_'", the SQL statement must be rewritten to avoid such usage.
Different Variable Data Type in SQL Scripts
In SQL scripts, a variable declared as a STRING is now treat as equivalent to the SQL_VARCHAR type instead of the SQL_LONGVARCHAR type. This change makes internal processing of the STRING variables in the SQL script more efficient. The effect of this change is that when the variable is being returned in the SELECT list of a SQL query such as "SELECT StringVar FROM system.iota", the corresponding column type for the variable in the Advantage Client Engine (ACE) will be ADS_VARCHARFOX instead of the MEMO type. Normally, this will make processing the cursor more efficient for the application and it should have little effect on the application built using clients that encapsulates the ACE functionality, such as the ADS TDataSet Descendant for Delphi or the Advantage .NET Data Provider. However, if this change is undesirable, the work around is to declare the variable as the SQL_LONGVARCHAR type instead of the STRING type.
64 bit ACE DLL Name Change
In order to allow the Advantage ADO.NET provider to work on 32 and 64 bit platforms, the 64 bit ACE DLL in prior versions was named ace32.dll. In version 10 the file now uses the more appropriate name ACE64.DLL. The Advantage ADO.NET provider has been modified to detect the platform at runtime and load the correct ACE DLL based on that information.