|
Major TADTable optimization, Firebird v 3 support (packaged procedures, PSQL functions, identity columns, BOOLEAN data type), Firebird COMPUTED BY support, PostgreSQL v 9 support (named parameters, anonymous blocks, enums), Interbase v 6, 7 support, Advantage v 8, 9 support, SQL Anywhere v 12 support, SQLite v 3.7.9 support, ElevateDB ODBC support, ReportBuilder DADE and more.
Possibly breaking changes- SQL Server and SQL Anywhere 'App' connection definition parameter removed. Use 'ApplicationName' instead. Supported by SQL Server, SQL Anywhere, Oracle and PostgreSQL driver.
- ParamBindMode property is removed. Use Params.BindMode instead.
- Oracle NUMBER (no precision and scale) now is described as dtFmtBCD (38,38) instead of dtFmtBCD (38,0).
- RoundToScale option renamed to Round2Scale.
- Fetching All & Unidirectional is prohibited and will raise an exception.
Mac OS X and iOS supportIn last 3 months we had a lot of customer requests in other areas, including TADTable and Live Data Window support. We decided to finish / implement those areas with the higher priority. And add Mac OS X and iOS support around Happy New 2012 Year. v 5.0.5.2073 (21.12.11) + added: IB: Interbase v 6-7 support + added: FB: Firebird v 3 support, including packaged procedures, PSQL functions, identity columns, BOOLEAN data type, etc + added: FB: "DROP DATABASE" support through ADScript and DropDatabase connection parameter + added: FB: COMPUTED BY columns support + added: FB: TADIBService.SqlRoleName property + added: PgSQL: PostgreSQL v 9 support, including named parameters and anonymous blocks + added: PgSQL: support for ENUM data type + added: ADS: Advantage v 8 and 9 support + added: ASA: SQL Anywhere v 12 support + added: SQLite: SQLite v 3.7.9 support + added: SQLite: TADSQLiteSecurity.Options with soSetLargeCache option + added: Phys: ApplicationName conn def parameter, allowing to identify the application. MSSQL and ASA "App" parameters are removed. + added: Phys: IADPhysConnectionMetadata.IsUnicode property returning True when connection is in Unicode mode + added: ADStoredProc: ExecFunc method to execute a stored function and return it value + added: ADConnection: AbortJob method allowing to cancel all running tasks on this connection + added: Stan: FormatOptions.StrsTrim2Len property + added: Stan: EADDBEngineException.ErrorCode property - shortcut to EADDBEngineException[0].ErrorCode + added: ADDataSet: new CopyDataSet options: coIndexesReset, coIndexesCopy, coConstraintsReset, coConstraintsCopy, coAggregatesReset, coAggregatesCopy, coRefresh + added: AddOn: ReportBuilder DADE + added: Samples: Oracle specific Samples\DBMS Specific\Oracle\BFile demo + added: Design Time: few property editors / changed: Lazarus / FPC: support updated to Lazarus 0.9.30.2 and FPC 2.4.4 / changed: Help: major cleanup and multiple extensions / changed: Phys: removed IADPhysCommand.ParamBindMode. Use Params.BindMode instead / changed: Phys: simplified CliHandle / SharedCliHandle usage. DLL Tx state is synchronized with host app, no need to set DriverID in DLL. / changed: Phys: Fetching All & Unidirectional is prohibited and will raise an exception / changed: Oracle: NUMBER (no precision and scale) now is described as dtFmtBCD (38,38) instead of dtFmtBCD (38,0) / changed: FormatOptions.StrsTrimToLen -> StrsTrim2Len, RoundToScale -> Round2Scale - fixed: ADConnection: GetTableNames, GetPackageNames, GetStoredProcNames, GetGeneratorNames does not use ACatalogName / ASchemaName to limit the list of objects - fixed: ADConnection: AfterCommit is never called - fixed: ADConnection: "assertion failed" when connection was losted before before Edit / Post call and OnRecover returned faFail - fixed: ADTransaction: AV is raised, when connection was losted in StartTransaction / Commit / Rollback and connection recovery was aborted - fixed: ADManager: memory leak when Application.Run is not called but DataModule with AnyDAC components is created - fixed: ADDataSet: does not fire OnUpdateRecord event, when there is no Adapter attached - fixed: ADDataSet: Insert / Post when CachedUpdates=True and not all records are fetched, ApplyUpdates may change the current position - fixed: ADDataSet: Insert / Cancel in a DBGrid may jump to the last record - fixed: ADDataSet: SourceEOF set incidentally to False after moving to top of dataset - fixed: ADDataSet: GotoNearest may locate prior to the correct record - fixed: ADDataSet: when UpdateOptions.EnableXxx is False, then exception with empty message is raised - fixed: ADDataSet: "assertion failed" in BookmarkValid after dataset records deletion - fixed: ADDataSet: "AnyDAC-400. Command updated [0] instead of [1] record" exception is not recorded into changes log at ApplyUpdates call - fixed: ADDataSet: AV in detail InfoPower grid - fixed: ADTable: multiple stability and performance issues. Reduced the number of the SQL queries sent by ADTable. - fixed: ADTable: after changing TableName, Field Editor / Add fields may raise "field does not exist" - fixed: ADTable: does not use LDV when UpdateOptions.KeyFields is specified - fixed: ADTable: fails to populate detail table, when master fields have a NULL value - fixed: ADTable: "bookmark not found" with InfoPower grid - fixed: ADTable: raises "bookmark not found" instead "bookmark key fields are incompatible" - fixed: ADTable: does not handle NULL values in master-detail relation and indexes columns - fixed: ADTable: after editing filtered ADTable record does not go away - fixed: ADMemTable: loading a ADMemTable saved file into ADQuery and ApplyUpdates on FB gives "Data too large for variable Xxx. Max len =[0]" - fixed: ADScript: fails to change AUTOCOMMIT setting without active connection - fixed: ADDataMove: "command text must be not empty" when moving to ADTable - fixed: Phys: when UpdateOptions.GeneratorName is set and DBMS does not support generators then "capability not supported" will be raised - fixed: Phys: "ADPhysManager shutdown timeout" is possible when IADStanAsyncExecutor is not linked - fixed: Phys: AV is possible when IADGUIxWaitCursor is not linked - fixed: Phys: FindParam(Position) may raise "List index out of bounds" - fixed: Phys: possible AV at application termination in ADManager.Close - fixed: Phys: possible AV when tracing is ON - fixed: Oracle: "index [SYS_ILXxxx] definition is not completed" when open a table with BLOB fields using TADTable - fixed: Oracle: ADStoredProc requires upper cased names - fixed: Oracle: fails to edit BFILE column value - fixed: Oracle: two DATE values with 1 sec difference are considered as equal, leading to TADTable "Duplicate row found on unique index" - fixed: ADS: AV when application is using both AnyDAC and Advantage native components - fixed: ADS: TADSTable was broken - fixed: ADS: fails to get metadata for dictionary based connection tables, when tables are stored in different than dictionary folder - fixed: ADS: mkForeignKeys - DELETE_RULE and UPDATE_RULE are misinterpreted - fixed: MSSQL: SQL_ERROR when INSERT into table with VARCHAR(MAX) fails with "UK violated" - fixed: MSSQL / ASA: "Invalid string or buffer length" with Array DML, where one parameter is BLOB and one of the cells is NULL - fixed: MSSQL: fails to connect using a password with ';' inside - fixed: MSSQL: the PRINT output includes a message with SQLState, ErrorCode, etc. Now includes only the message. - fixed: MySQL: AV in embedded server, when no EmbeddedArgs is specified - fixed: MySQL: fails to update record, when WHERE has ftFloat parameter - fixed: MySQL: places a shared instead of write lock in lpImmediate mode - fixed: MySQL: "table does not exists" on SELECT * FROM dual - fixed: FB: AV on TADIBSecurity.AddUser / DeleteUser calls - fixed: IB: AV is possible when using ftWideString parameters in non-Unicode Delphi - fixed: FB: pessimistic lock is released immediately in auto-commit mode with long result set - fixed: SQLite: fails to parse hh:mi:ss.z time value (expected zzz) - fixed: SQLite: TSQLiteLib.VersionStr is empty when static linking mode - fixed: SQLite: AV / memory leak is possible with dynamically linked library - fixed: SQLite: failed to detect invalid password for aes-ctr encrypted database - fixed: SQLite: "Invalid Floating Point Operation" exception possible on some operations - fixed: SQLite: invalid default value OpenMode=CreateUTF16 - fixed: SQLite: character column with ROWID alias is recognised as dtInt64 [caROWID] and getting UnnamedN column name - fixed: SQLite: AV on reading exception SQL property in OnError event handler - fixed: SQLite: ADTable does not use ROWID in SELECT list, and produces non optimal update SQL commands for a table without PK - fixed: SQLite: incorrect BusyTimeout default value - 1s instead of 10s - fixed: SQLite: fails with AV on Sweep when uADStanAsync is not linked - fixed: MSAccess: fails to update BOOLEAN columns - fixed: ODBC: incompatibilities with ElevateDB ODBC driver - fixed: DataSnap: AV at Oracle stored procedure call with PL/SQL Table parameter - fixed: XE2 & MacOS: incompatibility with Update 2 -- Enjoy ! DA-SOFT Technologies Support Team |