1. Q: What will be there ? A: Here are v 2.0 history entries (for today). The list continue to grow in "added" and more in "fixed" areas. + added: SQL script engine. Analogue of Oracle SQL*Plus with extentions for other supported by AnyDAC DBMS's. ADPump was removed. Now it is one of the commands of ADExecutor. + added: dataset persistence (XML, BIN). TADDataSet.LoadFromStream, LoadFromFile, SaveToStream, SaveToFile methods. ResourceOptions.Persistent, PersistentFileName, Backup, etc options. + added: dataset disconnected mode (TADConnection.Offline, Online, Offlined, ResourceOptions.AutoOnline) + added: connection automatic recovery (TADConnection.OnConnectionLost, OnConnectionFailed, OnConnectionRestored, Ping, ResourceOptions.AutoConnRestore, etc) + added: connection sharing between application modules. See new demo DEMO\Comp Layer\TADConnection\DLL_Sharing + added: ResourceOptions.ServerOutput, ServerOutputSize. These options are supported by Oracle and MSSQL. + added: ResourceOptions.AutoConnect. If True, then connection will automatically connect / disconnect, then it will be required. Otherwise exception will be raised. + added: TADConnection.Execute for simple SQL commands execution + added: BeforeExecute, AfterExecute, BeforeApplyUpdates, AfterApplyUpdates, BeforeGetRecords, AfterGetRecords, etc dataset events + added: Oracle: support for TIMESTAMP data type + added: C_AD_Version constant containing AnyDAC sources version + added: TADDataSet.OpenOrExecute method + added: DBMS specific exception classes EASANativeException, EMSSQLNativeException, EMSAccessNativeException, EDB2NativeException, etc + added: support for Sybase SQL Anywhere 9, 10 + added: support for ASA MESSAGE command + added: {IF ...} macro sequence is not compatible with 1.x. Now use {IF...} ... {FI} or {IIF , , ...} instead. + added: LocateEx and LookupEx with ability to search forward/backward, from start/current position, by fields/expression + added: TADResourceOptions.PreprocessCmdText allows to turn on/off command text preprocessing. By default is True. + added: TADUpdateOptions.UpdateKeyFields allows to specify key fields for UPDATE / DELETE operations / changed: MIDAS / dbGo support improoved / changed: Removed TADDataSet.FetchParams method / changed: Renamed TADClientDataSet into TADMemTable / changed: "AnyDAC Devs" is now hidden by installer / changed: Removed TADParam.Active property / changed: MySQL: improved support for case-sensitivity modes / changed: AsyncCmdXXX options renamed to CmdExecXXX / changed: MSSQL2000 and MSSQL2005 driver ID's replaced by MSSQL. It is not required anymore because - see sections MSSQL2000 and MSSQL2005 in DB\ADDrivers.sample / changed: Generic ODBC driver parameter 'Driver' renamed to 'ODBCDriver' / changed: {(...)} macro sequence is shortcut for {FN (...)} / changed: TADDatSTable.Import is optimized / changed: now '\' is escape character in SQL preprocessor insetad of '^' / changed: now it is enough to include daADGUIxFormsfLogin into uses to have default login dialog / changed: TADDataSet.LocateRecord is now protected method - fixed: Dont process escape sequences inside of string constants in SQL - fixed: "Range error" exception on TWideStringField.Value := '' - fixed: TADParam.Clear(i) clears all - fixed: ftWideMemo support for D2006/D2007 was broken - fixed: != and &= was handling as macros - fixed: "DataSet not in edit mode" at assigning value to InternalCalc field in OnCalcFields event handler - fixed: DisplayFormat for aggregate fields is not used - fixed: Unidirectional = True and FetchAll gives "Out of memory" on big rowsets - fixed: memory leak if preparing query with parameter of ftUnknown data types - fixed: AV on IndexFieldNames has the field not in dataset - fixed: AV on row deletion - fixed: AV on sequenced execution of same query with different Params.ArraySize values - fixed: AV on executing command with AsyncCmdTimeout > 0 - fixed: aggregates/filters on fkInternalCalc fields, calculated by OnCalFields event handler does not work - fixed: sorting / ranging by Boolean and Binary fields does not work - fixed: command preprocessor does not handle '', "", \x in string literals - fixed: ODBC (MSSQL, ASA, DB2, etc): multiple issues with array execution - fixed: ODBC: possible AV in driver - fixed: ODBC: possible error on multiple cursors - fixed: ODBC: possible AV in driver if monitoring was active - fixed: MySQL: the datetime value was null if date and time parts are zeros. But it is enough a date part to be zero. - fixed: MySQL: Array DML fails with INSERT INTO table (a,b,c) VALUES (:p1,:p2,:p3) ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b) - fixed: MySQL: "Unvalid argument to time encode" on negative time value - fixed: MSSQL: raiseerror does not raise exception on client - fixed: MSSQL: if posting changes from TADQuery fires some triggers, which will update other tables, then only single record will be updated - fixed: MSSQL: TADConnection.GetLastAutoGenValue returns always Null - fixed: MSSQL: assertion failure if ftBlob parameter has value of zero length, but not Null - fixed: MSSQL: 3604 handled as error - fixed: MSSQL: "cannot prepare" on SET QUOTED_IDENTIFIER ON - fixed: Oracle: Instant Client support was broken - fixed: Oracle: if exception happened at array DML execution, then RowsAffected is not updated properly - fixed: Oracle: metadata retrieval does not support ALTER SESSION SET CURRENT_SCHEMA - fixed: Oracle: if SP does not exists, then raised '"PUBLIC". does not exists' - fixed: Oracle: ORA-24806 on utf8/ucs2 systems - fixed: Oracle: "invalid pointer" on reading / writing Unicode BLOB/CLOB - fixed: Oracle: incorrect reading / writing Unicode BLOB/CLOB - fixed: Oracle: "expected FROM" on metadata fetching - fixed: "dublicate list entry" on havy threading - fixed: exception "invalid decimal" in TADDatSRow.SetData - fixed: TADDatSMechSort.SortingOn - fixed: memory leak if application used ADManager, but had no active connections - fixed: memory leak on transaction release - fixed: possible AV in TADDataSet in M/D, unidirectional, etc usage cases - fixed: possible AV after Delete & ApplyUpdates & CommitUpdates - fixed: possible AV on logon failure - fixed: TADDataMove hangup
2. Q: When it will be ready ? A: 15 September will be launched AnyDAC v 2.0 beta testing. One month later AnyDAC v 2.0 will be released. 3. Q: There will be free version ? A: Yes. There will be few packs to choose. One will be free or GPL - we will see. The difference between it and others will be the set of features. 4. Q: What about docu ? A: We are developing help file, which will be part of AnyDAC v 2.0 commercial packs. 5. Q: Can I participate in beta ? A: Yes, we will invite most active reporting users and all, who bought high-priority technical support. AnyDAC v 2.0 will be distributed in few commercial and one free packs. But AnyDAC 2.0 beta installer includes all features. Because that only subscribers with not expired AnyDAC v 1.0 high priority technical support will be able to participate in AnyDAC v 2.0 beta testing. And later all of them will get license for one of few commercial packs.
|