Changes in Data Abstract 4.0 for Delphi
This document lists the changes introduced by new versions of Data Abstract for Delphi.
New in Version 4.0.19 (Build .565)
(Status: April 20, 2007)
Enhancements
- 3284: Option to disable the macro processer
- 3269: MySQLDAC driver should allow to connect to server which uses a non-standard port
- 3184: Support for new CodeGear Delphi 2007 for Win32
Fixes
- 3446: CoreLabs drivers: NULL memo values posting data using SDAC driver problem
- 3425: Delphi 2007 compiler doesn't handle variables in search path; adjusted setup to install full paths
- 3423: BinStreamer: "Field Value Required" error
- 3415: Schema accidentally gets stored in DFM as part of DynamicRequest
- 3328: Schema Modeler stub form stays in front of Schema Modeler itself
- 3315: FIB Driver meta data reads Numeric(9,2) SP parameters as Integer
- 3313: Problem adding filter in float field
- 3298: Possible AV in DataTable
- 3288: Fixes for new $M+ warnings introduced in Delphi 2007
- 3267: IBX: Autoinc Support broken on Autogenerated Updates
- 2542: Review all drivers for efficiency: MySQLDAC
New in Version 4.0.17 (Build .557)
(Status: March 6, 2007)
Fixes
- 3242: the "Required" attribute of fields was imortedreversed in ADO/MSSQL and ADO/Access Meta Data (regression in Build .551)
- 3243: Retrieval of "allow null" meta data fails when getting ADO/Access Meta Data
- 3252: Quoting in IBX broken
New in Version 4.0.17 (Build .551)
(Status: February 22, 2007)
Enhancements
- 3177: Support of TIMESTAMP WITH TIME ZONE and TIMESTAMP WITH LOCAL TIME ZONE for Oracle
- 3118: Support WHERE conditions that don't require a value
- 3117: master/details feature in local mode
- 3010: DBX driver. Custom parameters LibraryName and VendorLib should be supported
- 2954: Improved TDADataAdapter.ReadDataset performance
- 2905: Create connections option in ADO driver for transactiontype and cursor type
- 2711: Add Help2 filters to all products that ship Help2 help
- 2542: Review all drivers for efficiency
- 2540: support ASA and ASE drivers in DBX driver
- 1465: Detect SQL Server "Identity" fields in meta data, for Schema Modeler
- 1208: DA4Converter updated to handle Frames & DevExpress Controls
Fixes
- 3210: Problem with the DataStreamer sample
- 3203: Problem with Variant sample
- 3170: Problem with ADO driver, Microsoft JET and Mode attribute
- 3169: Problem with Unassigned blobs and MergeDelta
- 3161: MyDAC driver should allow to connect to server which uses a non-standard port
- 3142: DADBSessionManager don't work correctly
- 3139: datWideMemo should be mapped to ftWideMemo
- 3122: Patch for FieldValueToVariant
- 3082: Cannot get ADO meta data from SQL Server 2000
- 3047: TDAXmlDataStreamer does not write Params into stream
- 2946: Problem with use AutoInc PK and ruoPost
- 2934: Exception 'String list does not allow duplicates' when adding a record to a TDACDSDataTable component
- 2929: Master/Detail Wizard crash when using TDACDSDataTable with LocalSchema
- 2768: DBX driver. Reserved words should be quoted with escape identifiers
- 2756: ADO driver: Command.CommandTimeout should be equal to Connection.CommandTimeout
- 2748: check if connection is still valid before returning to the pool
- 2710: Refactoring of ADO drivers
- 2370: PSScriptingProvider should be assigned to one datatable only
- (no issue id): Fix for TDADataTable.LoadFromStream
- (no issue id): PK-field empty after Post
New in Version 4.0.15 (Build .541)
(Status: December 14, 2006)
Enhancements
- 2842: "EnableBCD" option in ADO driver
- 2739: Trial-built applications now run outside of the IDE (but still show trial message)
- 2710: Refactoring of ADO/SDAC drivers
- 2708: Refactoring of IB drivers
- 2628: New Schema Modeler keyboard short-cuts
- 2542: Reviewed and tweaked all drivers for performance and efficiency
Fixes
- 2904: Problem with ADO driver
- 2873: Problems with empty memo fields
- 2865: FIBPlus driver issues with Float/LargeInt
- 2850: ApplyUpdates generates error when cloning from detail table
- 2832: Setup didn't create shortcuts for DA applications in the start menu
- 2829: Deployed IBO .dad driver could be used outside of Schema Modeler
- 2781: TDAConnectionManager pooling could generate dead lock
- 2770: Strange behavior when dragging tables in Schema Modeler
- 2747: AV when unloading drivers
- 2746: Schema Modeler could AV on closing
- 2740: TDAConnectionManager can't set the OnConnectionReleased event
- 2734: ruoOnPost problem for detail table in m/d relation
- 2732: DBX driver returned Date as BCD
- 2731: Infinite loop in Schema Modeler
- 2729: Problem with IBO driver
- 2717: FieldType ftWideMemo (39) is not supported
- 2716: Schema Modeler should check getAuxParams
- 2689: DA application using TROPooledClassFactory can't be closed
- 2665: Problem in TDABaseField.GetIsNull and FieldValueToVariant
- 2636: TDADataTable.LogicalNames drop-down should show tables in alphabetical order
- 2581: ADO driver in 'Microsoft.Jet.OLEDB.4.0' mode should support IDAFileBasedDatabase
- 2550: IBO/IBX drivers should receive PK and "Required" flag from database meta data
- 2487: DBX driver should receive PK and other info from database meta data
New in Version 4.0.13 (Build .521)
(Status: October 25, 2006)
Features
- 2498: New "Briefcase" Sample
- 2311: Option to filter drivers in Connection Wizard by platform if running from IDE
- 2226: New "Business Processor" Sample
- 1968: Allow dragging of Stored procedure in Schema Modeler to generate data table
- 1690: New Corelab IBDAC Driver
Enhancements
- 2569: Improve BinStreamer's default TWriter.BufferSize
- 2388: Event on Connection Manager when connection goes back into the pool
- 2387: Vastly improved connection pooling; problem with ConnectionPool.TransactionBehavior;
- 2335: New Schema.NewDataset function that used default connection
- 2312: Support for CommandTimeout property in ADO and SDAC
- 2252: New PoolBehavior.btFail option for better transaction control
- 2214: Connection timeout logic doesn't consider actual connection lifetime
- 1839: Schema Modeler should persist active selection of data table between runs
- 1799: ApplyUpdates support when working with LocalSchema
- 1391: Support for FindNearest in TDACDSDataTable
- 1199: Option to automatically retrieve scripts without need to manually call LoadScript
- 1175: Allow user-defined macros in IDASqlCommand and IDADDataset
Fixes
- 2572: Validating of the IB stored procedures show the error "The number of parameters specified in the SQL statement for command
- 2571: Schema Modeler raised the error "List index out of bounds (0)" with FIB driver
- 2527: The detail table was incorrectly saved to the stream
- 2515: Validation fails on data tables defined using a stored procedure
- 2486: DBX driver should support IDAFileBasedDatabase for Interbase
- 2438: connection string concatenated incorrectly in ADO driver
- 2437: Incorrect call of BeforeGetDatasetSchema event
- 2435: TDACache should be placed to Legacy component palette tab
- 2434: Master/Detail updates not cascading properly when Master HasDelta = false
- 2427: TDAConnectionManager doesn't call OnConnectionTimedOut event
- 2419: Some client-side business rules don't work
- 2406: Events for detail tables are not fired when calling ApplyUpdate for master table
- 2352: RO Implementation codegen would use old DataAbstract_Intf unit name
- 2345: Problem with blob fields in IBX/IBO/FIB drivers
- 2325: Cannot use TDADataTable.Where property when table already has a parameters
- 2313: Memory leak in TDBXConnection
- 2296: Accessing memo fields using strongly-typed interfaces
- 2277: Data Tables Pane in Schema Modeler flickers when adding many tables
- 2215: Schema Modeler generates SELECT without fields, for Access database
- 2207: Importing all of AdventureWorks with ADO leads to some invalid SQL
- 2201: TDABusinessProcessor doesn't re-raise exceptions
- 2145: DABINDIR in DriverManager is wrong
- 1920: LogChanges flag fails to carry over when using dictionary
- 1681: Need property editor for TDADataTable.LogicalName
- 1436: with ruoPost, post succeeded even if ApplyUpates failed on server
New in Version 4.0.11 (Build .509)
(Status: August 24, 2006)
Features
- 2229: Support for Visual FoxPro in ADO driver
Enhancements
- 2290: Update DAServer to also support the new v4 interface
- 2283: Data Table Wizard will now skip fields that have unknown/unsupported data type
- 2220: Expose Table.State to business rules scripts
- 2170: Provided menu for retrieving design-time data with login
- 2104, 2105,2117: Minor UI improvements in Schema Modeler
- 2087: allow UpdateDataCall requests that don't define a result
- 2073: list Microsoft SQL Server "table-value functions" in Schema Modeler
Fixes
- 2304: Problem with WideMemos
- 2279: Accessing property of TDADataTable would cause "Could not call proc."
- 2187: Parameter problems in FIBPlus driver
- 2179: Problems with output parameters in SDAC and ODAC drivers
- 2177: International characters in schema scripts get lost
- 2160: Error when updating Master/Detail
- 2153: typing in Connection Wizard gives error on half-typed DB name
- 2135: RO templates don't enable Data Abstract Wizard check box
- 2118: Exception when executing custom SQL with SQLGetData ()
- 2088: Problem with custom attributes in Schema Modeler
- 2082: TDAWhere.AddCondtions: TDateTime value of 0 should equate to EmptyValue
- 2080: problem with automatically adding operators to TDAWhere
- 2015: buttons in "Select Data Tables" dialog are too small
- 1973: data table is losing parameter values when stored/loaded to/from DFM
- 1898: one-time on-shutdown memory leak in driver manager with static drivers
New in Version 4.0.9 (Build .495)
(Status: June 30, 2006)
Features
- 1952: New driver for FIBPlus
- 1746: New driver for MySQLDAC
- 1745: New driver for PostgresDAC
Enhancements
- 1884: Allow PKs with LogChanges = false to not be included in UPDATEs
- 1881: Primary Key fields with LogChanges disabled should not update
- 1873: Automatically add "AND" when adding a new TDAWhere condition
- 1819: datDecimal support
- 1769: remove redundant "about to" issues from Schema Validation Wizard
- 1766: "Check Connection" button in Schema Modeler should show dialog
- 1760: Updated SDAC, MyDAC and ODAC drivers
- 1565: New OnConvertGUID event on TDADBSessionManager to allow shorter session IDs
- 1504: CustomAttributes property for fields and data tables
- 1392: Support for "CONTAINING" conditions in TDAWhere
- 410: New property to turn off "No rows were affected by this update" errors
- 179: Support for VarBytes field type
- 63: Improves Recreate Parameters behavior in Schema Modeler
Fixes
- 2062: Data Abstract's BinDataStreamer failed over XML-RPC Message and SOAP Message
- 2034: Database drop-down in Schema Modeler fails, if partial database name is typed in
- 2025: TDADataSource.Dataset property should be hidden form Object Inspector
- 1964: TDASQLCommand (stSQL) don't support output parameters for sql statement
- 1963: TDAESQLCommand.PrepareSQLStatement calls abstract method DoSetSQL for stored procedures
- 1957: TDAConnectionManager.OnConnectionAcquired didn't fire if connection was not from pool but new
- 1954: Problems with Master/Detail feature
- 1943: Publish Schema wizard has wrong caption
- 1939: TDACustomField.IsNull should be in base field
- 1937: IOracleConnection & Co should descend from IDAConnection
- 1936: Renamed classes and interfaces to use proper "DA" prefix
- 1932: Memory Leak when use TDADataTable.LoadSchema
- 1924: RDA sometimes doesn't properly refresh Schema from server at design-time
- 1897: Deleting Command in Schema Modeler asks to delete Connection instead
- 1877: Warnings building a new project from template
- 1871: Master/Detail/Sub-Detail ApplyUpdates Problem in TDADataTable
- 1840: Problem changing target table in Schema Modeler
- 1817: TDARemoteDataAdapter on inherited form could cause AVs in IDE
- 1808: Kylix compilation errors
- 1803: TDAGetScriptsRequest.SetupDefaultRequest does not initialize request correctly
- 1794: BeforeGetDatasetSchema and BeforeGetDatasetData events should be fired before lDataSet.Open
- 1773: web forms do not work in Schema Modeler's integrated web browser
- 1771: Validation Wizard inconsistency with Calculated fields
- 1711: ApplyUpdates doesn't apply details if there are no master changes
- 1709: M/D Wizard dialog should be stricter and enforce proper values
- 1674: Calculated Fields shouldn't use fkInternalCalc
- 1668: IBX problem with uncommitted transactions
- 1587: Some macros don't work for all database types
- 1578: RECID Fix
- 1524: TDAConnectionManager's timer never gets started if PoolTimeoutSeconds = 60
- 1514: Connection Wizard comes up empty on unknown driver
- 1503: TDAWhere does not map client fields
- 1488: Required/Default field properties from SDAC don't work
- 1387: Allow "return values" for remote commands
- 587: Drag & Drop on command pane in Schema Modeler doesn't display "Create commands" option
- 506: problem with TDAESQLCommand.RefreshParams and default directions
- 313: ADO driver problems with Oracle
New in Version 4.0.7 (Build .475)
(Status: April 26, 2006) - First Release of Data Abstract 4.0 for Delphi
Features
- New "Getting Started" guide wizard to create new projects
- Vastly improved design-time experience and ease of use
- New and enhanced client architecture with TDARemoteDataAdapter
- New and enhanced v4-style service interface and base service implementation
- New Master/Detail Setup Wizard for TDADataTable
- New Identifier Renaming options in Schema Modeler
- New standard authentication system & matching templates
- New Schema Validation Wizard
- New data caching support in middle-tier server with TDACache
- New TDADatasetProvider component
- New Local/Single-Tier application template
- New Unicode/WideString text and memo field support
- Full compatibility and interoperability with Data Abstract 4.0 for .NET
- 1173: Support for Unicode/WideString field types
Enhancements
- Extensive support for managed DA/.NET drivers in Schema Modeler
- Drivers can now provide list of available databases in New Connection Wizard
- 1541: More explanatory error message on missing AuxDriver for ADO driver
- 1499: Fix client templates to automatically include MidasLib.dcu
- 1393: Enhanced Postgres support via ADO/OLE DB
- 1383: Option to delete Diagram in Schema Modeler
- 1326: better status dialog for "Test Connection"
- 1321: Schema Modeler Validation Wizard should show Ok/Fail on final page
- 1282: Deploy DataAbstract_Async units
- 1276: Convert DA templates to be based on ComboServer, not VCL server
- 1253: Support stored procedure returning cursors
- 1218: Option for drivers to provide default AuxParams
- 1190: Provide Field.AsLargeInt property
- 1189: New Need TDataAbstractService.ReleaseConnection method
- 1181: Microsoft SQL Server "Money" fields in Schema Modeler
- 1172: Allow loading of misnamed .daConnections when loading .daSchema from explorer
- 1144: New TDAConnectionManager.OnConnectionFailure event
- 1111: Microsoft SQL Server 2005 schema support in ADO and SDAC drivers
- 1105: Option to add fields to deltas
- 1009: Separate DA templates from RO ones with two folders
- 998: Support formatting of imported data table names in Schema Modeler
- 979: Provide combined installer for Data Abstract and RemObjects SDK
- 975: New " Powered by Data Abstract " button
- 904: Option to compare two different schemas in Schema Modeler
- 730: Renaming connections in Schema Modeler will adjust statements
- 656: Support for .AsInt64 properties on TDAField
- 433: Publish Tables Wizard
- 191: Support for editing TDAField's custom attributes in Data Table pane
- 16: Renaming fields in Schema Modeler will adjust relationships to match
Fixes
- 1669: DBX/Interbase connection strings don't work property with Firebird
- 1605: Problem with timeouts in TDAConnectionManager
- 1596: Change field name doesn't update column mapping in Schema Modeler
- 1594: TDAWhere doesn't add parenthesis around "IN" conditions
- 1539: Problem accessing table with spaces (bad/missing quoting)?
- 1508: DataAbstract_SDACDriver_D10.bdsproj referenced packages for D9
- 1502: TDASchema doesn't load data table's display label
- 1492: "LoggedFieldCount is invalid" exception
- 1449: "Unknown delta <table>" exception while calling table.ApplyUpdates()
- 1447: Bug in calculated blob size
- 1437: "Transaction is active" exception in IBX driver and FireBird
- 1428: Dataset: Missing data provider or data packet
- 1415: RecordIndex out of range in DAServer
- 1398: Problem passing blob field between Delphi and .NET
- 1395: Problem with string parameters streaming from .NET client to Delphi server
- 1390: Cannot open or refresh readonly data table
- 1382: Problem fetching meta data with IBO driver
- 1300: "unclosed quotation mark" error when dragging tables from SQL Server 2005
- 1255: Schema Modeler should check default values of imported dataset fields
- 1254: Allow Where. AddConditions to add operator before statement if Where clause is not empty
- 1246: IDAConnection.NewCommand does not set internal Dataset's SQL property before Execute()
- 1224: IDE error when editing ScriptCode property
- 1223: Don't disable Execute button in SQL Editor based on query text
- 1212: Sync Name and DisplayName for Fields
- 1209: Null vs Unassigned in Strongly Typed Datasets
- 1185: Don't send delta to server if there are no changes
- 1182: Update Column Mapping in RecreateFields
- 1178: AutoIncs should be set AfterInsert, not BeforePost
- 1177: Required should be false during data fetching
- 1154: Schema Modeler "Add New Table" in diagram doesn't cancel
- 1153: Schema Modeler "Loaded Drivers" dialog doesn't close with "Esc"
- 1133: Can't use business rules for some events defined in TDADataTable
- 1108: Return parameters problem if result is dataset
- 1107: UniqueIdentifier Output Parameters
- 1106: Problem with default parameters
- 1101: Better handling of field changes in Schema Modeler
- 1039: Access field's OldValue via the OnValidate event
- 984: Find proper solution to add/update system path without duplicates
- 983: BusinessProcessor SQL generating problem with duplicate parameters caused by ADO
- 937: Cannot close the SQL Editor with "Esc"
- 822: Can add multiple connections with the same name in Schema Modeler
- 818: Can break column mappings and field definitions by adding duplicate fields in the SELECT
- 817: Wrong question asked by the SQL Editor when pressing "Cancel"
- 797: Can't execute SQL command with parameters till RefreshParams called
- 790: Can't clone DataTable if it has lookup field
- 761: Setup doesn't add shortcut for Schema Modeler to Start Menu
- 741: Post inspector data on exit of control in Schema Modeler
- 733: driver/specific templates for new command statements
- 716: Index out of bounds on Dataset without statements in Schema Modeler Diagram
- 715: DataAbstract_SimpleQuery updated to latest version of SimpleQuery
- 662: Can enter any text in the statement's Connection name in Schema Modeler
- 639: Errors viewing diagram when fields have changed
- 638: Problems editing statement in SQL Editor
- 414: Blob serialization uses strings, causing data loss on some system locales (such as Chinese).
- 413: DFM not flagged as modified after adding data table mappings
- 366: Typo in method names TDAWhere.OpenBraket/CloseBraket
- 357: TDACDSDataTable bug related to Master/Details and Enable/Disable
- 267: Remove check if parameter field name is valid in TDAWhere.AddCondition
- 263: DisplayFormat is not editable in Data Dictionary pane
- 249: Move method TDAESQLCommand.GetDataSet to protected
- 206: Problems with Null values in Strongly Typed Datasets
- 113: Null fields in the TDAXMLDataStreamer
- 52: Data dictionary hides ServerAutoRefresh
- 11: Switching connection in Schema Modeler truncates statement
