4.1.4 28-Dec-11
- The UniqueFieldIndexSeparator global variable is added
- Bug with defining specific option with not defined ProviderName is fixed
- Bug with "Multiple transactions are not supported by the database" is fixed
- Bug with parsing the table names separated by comma in TUniDump is fixed
- Bug with assertion failure at proccesing the cached data is fixed
- Bug with Delphi IDE hanging at closing in case of using DBMonitor is fixed
- Bug with freeing memory in Lazarus is fixed
- Several bugs with 64-bit application development are fixed
- Several bugs in design-time editors are fixed
Oracle data provider
- Bug with memory leak and non-existing stored procedure in the Direct mode is fixed
- Bug with '(' and ')' application name in the Direct mode is fixed
SQL Server data provider
- Bug with generation the SQL query for data refresh, while FullRefresh is True and the macros is used, is fixed
- Bug with the stored procedures executing in SQL Azure is fixed
- Bug with GetProcedureList is fixed
MySQL data provider
- Improved performance of HTTP tunneling
InterBase data provider
- Bug with query containing 'UNION' clause that is generated for the QueryRecCount option is fixed
PostgreSQL data provider
- Reading the Bytes data type as Hex is supported
SQLite data provider
- Bug with UPDATE, when a key field is of the TEXT data type, is fixed in the SQLite data provider
4.1.3 23-Nov-11
- Update 2 for RAD Studio XE2, Delphi XE2, and C++Builder XE2 is now required
- Mac OS X and iOS in RAD Studio XE2 is supported
- FireMonkey support is improved
- Lazarus 0.9.30.2 and FPC 2.4.4 are supported
- Mac OS X in Lazarus is supported
- Linux x64 in Lazarus is supported
- FreeBSD in Lazarus is supported
- Bug with memory leak in TDALoader is fixed
- Problem with receiving DateTime parameter for DBMonitor in Delphi 2009 and higher is fixed
Oracle data provider
- Oracle 11g Express Edition is supported
- Support for the NonBlocking option is added
- The QueryResultOnly option is added to TOraChangeNotification
- Conflict with size_t data type in C++Builder is resolved
- Bug with invalid password in the Direct mode for Windows 98 is fixed
- Bug with reading long ORACLE_HOME line from the registry is fixed.
- Bug with updating DatSet when LongStrings=False is fixed
- Bug with posting nested objects of the not final type is fixed
SQL Server data provider
- SQL Azure support is improved
- Bug with backing up BLOB fields is fixed
- Bug with query containing 'WITH' clause that is generated for the QueryRecCount option is fixed
- Bug with processing parameters values of which are set to the SqlTimestamp type is fixed
InterBase data provider
- Bug with query containing 'WITH' clause that is generated for the QueryRecCount option is fixed
- Bug with getting database info is fixed
MySQL data provider
- Bug with deleting record in FetchAll = False mode when LockMode is lmPessimistic is fixed
PostgreSQL data provider
- PostgreSQL 9.1 is supported
- Bug with time zone for time and timestamp data types is fixed
- Bug with PgDump with PostgreSQL 8.2 is fixed
SQLite data provider
- DateFormat and TimedFormat specific options are added in the SQLite data provider
NexusDB data provider
- Support of NexusDB 3.09 is added
MS Access data provider
- Type of the ExtendedAnsiSQL specific option is changed from Integer to Boolean
4.0.2 10-Oct-11
- SpecificOptions definition in the run-time is improved
- Bug with compilation for Linux in Lazarus is fixed
Oracle data provider
- Bug with multi-dimension arrays is fixed
- Bug with getting attributes of inherited object types is fixed
- Bug with Lob parameters in the Direct mode if ParamType=ptUnknown is fixed
MySQL data provider
- Bug with the QueryRecCount option queries containing the 'DISTINT' and 'AS' clauses is fixed
PostgreSQL data provider
- Bug with Unicode password is fixed
- Bug with multiple default schemas definition is fixed
InterBase data provider
- Bug with processing parameters values of which are of the SqlTimestamp type is fixed
- Bug with the QueryRecCount option queries containing ';' delimiter in query is fixed
4.0.1 15-Sep-11
- Embarcadero RAD Studio XE2 is supported
- Application development for 64-bit Windows is supported
- FireMonkey application development platform is supported
- Support of master/detail relationship for TVirtualTable is added
- OnProgress event in TVirtualTable is added
- TDADataSetOptions.SetEmptyStrToNull property that allows inserting NULL value instead of empty string is added
- Bug with processing transaction when connection is lost is fixed
MS Access data provider
- Exclusive access to databases in MSAccess provider is added
Adaptive Server Enterprise data provider
- Ability to set ApplicationName in the ASE provider is added
- The AnsiNull option in the ASE provider is added
Oracle data provider
- Bug with UniLoader for Number(1,0) data type is fixed
- Bug with Int64 data type for UniLoader in Oracle provider is fixed
- Bug with LOB parameters is fixed
PostgreSQL data provider
- Bug with SQL query following an empty SQL query is fixed
SQLite data provider
- Loading the sqlite3 library for Linux in SQLite provider is fixed
- Bug with Table name that contains "." in SQLite provider is fixed
3.70.0.19 19-Jul-11
- Bug in TCustomDADataSet.PSGetKeyFields method when persistent fields are created in dataset is fixed
- Bug in TUniTable with creating SQL query when Options.QuoteNames is set to True and provider is changed is fixed
- Bug with assertion failure on using master/detail relationship with TClientDataset is fixed
- Bug with several connections and when OCIUnicode=True for the Oracle data provider is fixed
- Bug with getting ServerList for the PostgreSQL data provider is fixed
- Bug with returning "not an error" for the SQLite data provider is fixed.
3.70.0.18 15-Jun-11
- Possibility to load data in TVirtualTable without recreating persistent fields is added
- Working in design time editor of the TVirtualTable component is improved
- Loading files opened by other applications is improved
- Bug with the "BAD HANDSHAKE" error on connecting to some versions of MySQL server in the MySQL provider is fixed
- Bug with processing key fields on record posting is fixed
- Bug with empty string parameters is fixed for ASE data provider
- Bug with DateTime parameter is fixed for ASE data provider
- Bug with "SQL statement doesn't return rows" is fixed for ASE data provider
- Several bugs with design-time editors for Lazarus are fixed
3.70.0.17 28-Apr-11
- Lazarus 0.9.30 and FPC 2.4.2 is supported
- New DBF provider is added
- Bug in bookmark validity check is fixed
Oracle data provider
- Oracle 9, Oracle 10, and Oracle 11 authentication in the Direct mode is supported
- Case sensitive login and password in the Direct mode is supported
- Unicode login and password in the Direct mode is supported
- Client Identifier in the Direct mode is supported
- Support of BLOB, CLOB, and NCLOB data types in TUniLoader is improved
PostgreSQL data provider
- Application Name connection option is supported
- Payload parameter for PostgreSQL notification is supported
SQL Server data provider
- Support for SQL Server Compact Edition 4.0 is added
SQLite data provider
- User-defined function for SQLite provider is supported
- Default UniNoCase collation for SQLite provider is added (the DefaultCollations specific option)
- Interface user-defined collation registration for SQLite provider is improved
- SQLite source version is fixed (missing .inc file is added)
- Bug with "SQLite function is not linked" in the SQLite data provider is fixed
Adaptive Server Enterprise data provider
- Support for the AnsiNull option in the ASE provider is added
- Bug with getting extended fields info in a transaction in the ASE data provider is fixed
3.60.0.16 10-Mar-11
- Delphi & C++Builder XE Starter Edition supported
- Added ability to get databases list in the NexusDB provider
- Fixed bug with access to several databases in the NexusDB provider
- Fixed bug with getting database info for 64-bit OS in the InterBase provider
- Fixed registration procedure of Borland SQL Monitor when TUniSQLMonitor is created at runtime
3.60.0.15 26-Jan-11
- Added NexusDB provider
- Added support for connection with using Service Name in the Direct mode in the Oracle provider.
- Added support for ASCII databases in the SQLite provider (the ASCIIDataBase specific option)
- Changed Collation and Encryption function calling in the SQLite provider (this function is moved to the TLiteUtils class in the SQLiteUniProvider unit)
- Improved performance in the PostgreSQL provider
- Improved Encryption function in the SQLite provider (it raised exception if database wasn't encrypted successfully)
- Fixed bug with parameters quoting by SQL Generator in the design-time in the SQLite provider
- Fixed memory leak in the SQLite provider
- Fixed bug with the Currency parameter type support in ODBC provider
- Fixed bug in TUniDump with backup boolean fields in the InterBase provider
- Fixed bug with processing Unicode in BLOB parameters in the InterBase provider
- Fixed bug with processing parameters of stored procedures in the InterBase provider
3.50.0.14 08-Dec-10
- Added encryption support in the SQLite provider
- Added calling the BeforeExecute event for the Open and Refresh dataset operations.
- Fixed the Detail dataset refreshing (for Master-Detail datasets) after connection loss in the LocalFailover mode
- Fixed bug with refreshing record for Master-Detail datasets
- Fixed bug when user's value was overridden by the sequence value in the smPost sequence mode in the Oracle provider
- Improved performance of INSERT, UPDATE, DELETE, and SELECT queries that return few records in the PostgreSQL provider
- Fixed sorting order for columns that contain NULL values if sort is defined by the IndexFieldNames property in the PostgreSQL provider
3.50.0.13 04-Nov-10
- PostgreSQL 9.0 supported
- Added checking that dataset is open on calling the TDataSet.Locate method
- Improved table names detecting inside SQL queries for the UpdatingTable property in the PostgreSQL provider
- Fixed bug with table or view names that contain single quotes (for example, 'name') in the PostgreSQL provider
- Fixed bug with selecting Unique Key instead of Primary Key as a Key field in the Oracle provider
- Fixed bug with fetching data in the Direct mode in the Oracle provider
- Fixed bug with updating NVARCHAR fields in the Direct mode with OCIUnicode=true in the Oracle provider
- Fixed bug with decoding data on loading XML
- Fixed bug in the Migration wizard with migrating parameters in the date format
- Fixed bug in Migration Wizard with adding unnecessary spaces
3.50.0.12 13-Sep-10
- Embarcadero RAD Studio XE suppored
- Fixed bug with AL32UTF8 and ZHS16GBK encoding for Oracle in OCI and Direct modes. Now field size and strings storing in these encodings is correct.
- Fixed bug with filling default expression for fields in the design mode for inactive dataset
- Fixed bug with the LIKE keyword in the TDataSet.Filter property
3.00.0.11 13-Aug-10
- Changed the LocateEx method behavior: now LocateEx centers records equal to Locate
- Added the OnBeforeExecute event
- Added function ActiveMacroValueByName that returns macros value for the current data provider
- Added UTF sorting for the SQLite database
- Added support for extended SQL for MS Access (set the ExtendedAnsiSQL specific option to 1)
- Fixed bug with saving OleObjects for the Access database
- Fixed bug with processing parameters used in the BeforeUpdateExecute event handler
- Fixed bug with RefreshRecord and numbers with floating point
- Fixed bug in Migration Wizard with converting units in the UTF8 and UTF16 encoding
3.00.0.10 24-Jun-10
- Added ability to lock records in the CachedUpdate mode
- Added overloaded declaration of the ApplyUpdates method to choose update kind
- Fixed bug with quote that first character inside quoted string for the Filter property
- Fixed bug in TCRBatchMove with processing RecordCount
- Fixed UniLoader bug with loading data
- Fixed bug with processing added parameters in the BeforeUpdateExecute event handler
- Fixed bug with SSL connection to PostgreSQL
- Fixed bug with setting SpecificOptions for Lazarus
3.00.0.9 26-May-10
- Fixed bug with ODBC provider and Nexus DB that generates the "Option 5 not supported" message
- Fixed bug with ODBC provider when long strings were read with excess zeros (#0 char) inside.
- Fixed bug with the UNSIGNED BIG INT data type for SQLite database: now the UNSIGNED BIG INT data type is represented by TLargeintField
- Fixed bug with processing UniSQL in the TUniConnection.ExecProc method
- Fixed problem with processing TBCDField for SQL Server
3.00.0.8 09-Apr-10
- Added the BreakExec method
- Added support of ONLY lexeme in the FROM statement for PostgreSQL
- Fixed bug with comparing Date field values on optimistic locking
- Fixed bug in the AddWhere, DeleteWhere, SetOrderBy, and GetOrderBy methods for Tables
- Fixed bug with calculating RecNo in CachedUpdates mode
- Fixed bug with getting Database Info
- Fixed bug with "Insert into Table () values ()" when all fields are empty
- User_name in metadata changed to schema_name for SQL Server
3.00.0.7 04-Mar-10
- Ability to use Access system database added
- Added DetectFieldsOnPrepare parameter for NexusDB ODBC driver
- Added ability to send call stack information to the dbMonitor component
- Fixed bug with refreshing record when using master/detail relationship
- Fixed bug with LocalUpdate in the CachedUpdates mode
- Fixed bug with displaying nvarchar2 fields when UseUnicode is true
- Fixed bug with getting IndexFieldNames list in design time
- Fixed several bugs with getting information about SQLite database using the TUniMetadata component
- Fixed bug with processing TableInfo for SQLite
- Fixed bug with DBMonitor for C++ Builder 6
3.00.0.6 26-Jan-10
- Added OnStart, OnCommit, OnRollback events to TDATransaction
- Fixed problem with using TLargeintField in master/detail
- Fixed bug with refreshing record when RefreshOptions.roBeforeEdit is set and LockMode = lmPessimistic
- Fixed bug with setting labels caption of TUniConnectDialog when LabelSet = lsCustom
- Fixed bug with setting EOF when FetchAll=False in the PostgreSQL provider
- Fixed bug with processing TIME fields for SQL Server 2008
3.00.0.5 01-Dec-09
- Added TUniAlerter component
- Added support for dbMonitor 3
- Fixed bug with updating table, that has field name, representing a valid hexadecimal number
- Fixed bug with updating field value with preceding spaces when TrimFixedChar or TrimVarChar = True
- Fixed bug with executing large file in UTF-8 format
- Fixed bug with AssignConnect in the ODBC-based providers
3.00.0.4 12-Nov-09
- Now Required flag is set for UpdatingTable fields only
- Fixed bug with detecting parameter size for MBCS strings
- Fixed problem with detecting slash with text after it as a delimiter in TDAScript
- Fixed bug with SetOrderBy and SetWhere when there is no space before ORDER or WHERE
- Fixed bug with executing large file in Unicode format
- Added support for XML data type in the SQL Server provider
- Fixed bug with fetching fields that come after BLOB fields in the ODBC-based providers
- Fixed bug with parsing table name in the ASE provider
3.00.0.3 13-Oct-09
- Now setting the SetFieldsReadOnly option to False makes all fields not readonly
- Now the AssignConnect method copies transaction state
- Fixed bug with locating records using the LocateEx method and the lxNearest option
- Fixed bug with AV failure in MemData
- Fixed bug with SQL Generator in design-time
- Fixed problem with help registration under RAD Studio 2010
- Fixed problem with loading DataSet Manager under RAD Studio 2010
- Fixed problem with providers registration under RAD Studio 2010
- Added support for GUID data type in the ODBC-based providers
- Added support for autoincrement fields in the Access, Advantage, and DB2 providers
- Added the ServerTypes specific option for the Advantage provider
- Added support for *.accdb databases in the Access provider
- Fixed error on connect under Windows Vista / 7 in the Access provider
3.00.0.2 10-Sep-09
- Embarcadero RAD Studio 2010 suppored
- DB2, Microsoft Access, Advantage Database Server, Adaptive Server Enterprise, and other databases (using ODBC provider) support added
- Now the subdetail is refreshed before the AfterRefresh event of the detail is called
- ConnectionTimeout is now used when resolving the host name
2.70.0.11 01-Sep-09
- Added support for Unified SQL in the FilterSQL property of TCustomUniDataSet
- Now the value from the master dataset has priority over the DefaultExpression value
- Fixed bug with not unlocking record in the CachedUpdates mode if no fields were changed
- Fixed bug with parsing TDAScript.Statements
- Fixed bug with RefreshQuick for query with fields that have similar names in several tables
- Fixed bug with parsing literal ':' as parameter in the Oracle provider
- Fixed bug with converting EOL for LONG RAW fields in the Oracle provider
- Added support for using different client libraries simultaneously in the InterBase provider
- Added DescribeParams specific option for the InterBase provider
- Added support for automatic starting a transaction when FetchAll=False in the PostgreSQL provider
- Fixed bug with FetchAll=False and inline comment at the end of SQL in the PostgreSQL
- Added the EmbeddedParams connection option for the MySQL provider
- Fixed bug with UseUnicode ignored for TEXT fields in the SQLite provider
2.70.0.9 24-Jun-09
- Fixed bug with local sorting in CachedUpdates mode
- Fixed bug with raising exceptions on locating records when IndexFieldNames is set
- Fixed bug with calculating connection count in Disconnected mode
- Fixed bug with calling the OnError event on connection failure when Pooling is enabled
- Fixed bug with macros in TDAScript
- Fixed bug with database name containing multibyte characters in the InterBase provider
- Fixed problem with default values with leading blanks in the InterBase provider
- Fixed problem with QueryRecCount option and FROM keyword inside a field list in the InterBase provider
- Fixed incorrect authentification and disconnect messages in the PostgreSQL provider
- Fixed bug with restoring after the error on operations with large object in the PostgreSQL provider
2.70.0.8 27-May-09
- SQLite support added
- Added the Disconnected property to TCustomDADataSet
- Added distinction between empty string and null value when saving/loading string fields in TVirtualTable
- Fixed bug with the GotoCurrent method
- Fixed bug with LocalMasterDetail and Prepare method
- Fixed bug with FullRefresh and macros
- Fixed bug with PSInTransaction returning True when no transaction is explicitly started (InterBase provider)
- Fixed bug with TUniStoredProc not alowing data editing for the SQL Server provider
- Fixed bug with Unified SQL and stored procedure call for the SQL Server provider
- Added the UseParamTypes specific option for the PostgreSQL provider
- Fixed bug with not closing portal for prepared statements in the PostgreSQL provider
- Added support for TQuery.DataSource property in BDE Migration Wizard
2.50.0.6 02-Apr-09
- Unified SQL support
Unified SQL allows to write truly database-independent SQL code. Unified SQL includes:
Macros - in Unified SQL macros can evaluate to a different value depending on the provider used by the TUniConnection component.
If - for the purpose of extra flexibility Unified SQL supports conditional inclusion of SQL code into resulting statements. This allows to set different SQL for different DBMS.
Functions - introduce standard for calling common SQL functions. In run time function is transformed either to the corresponding native function, or to an equivalent expression.
Literal - provides universal syntax for date, time, and timestamp literals.
- TUniLoader component
serves for fast loading of data to the database. For each type of database server TUniLoader uses its specific interfaces for loading with maximum speed. For example, Oracle Direct Path Load interface is used for Oracle.
- TUniDump component
serves to store data from tables or editable views as a script and to restore data from a received script.
- TUniConnection.AssignConnect method
shares physical connection between several TUniConnection components
- Added support for Free Pascal under Linux
- Added NoPreconnect property to TUniScript for executing CONNECT and CREATE DATABASE commands
- Added DMLRefresh support in the PostgreSQL provider
- Fixed bug with DetailDelay and refreshing closed dataset
- Fixed bug with detecting DBMonitor on 64-bit Windows
- Fixed bug with not calling UnregisterClient for internal command of dataset
- Fixed bug with refreshing record when RefreshOptions.roBeforeEdit is set and LockMode = lmImmediate
- Fixed bug with executing ApplyUpdates when LockMode=lmOptimistic in the CachedUpdates mode for the SQL Server and MySQL providers
2.00.0.4 26-Feb-09
- Fixed bug with not working CachedUpdates in TVirtualTable
- Fixed bug with suppressing errors in TVirtualTable.LoadFromFile
- Fixed problem with restoring current row after refresh
- Fixed bug when statements, executed on TClientDataSet.ApplyUpdates, were not shown in DBMonitor
- Fixed access violation on the TClientDataSet.ApplyUpdates call
- Avoided bug in Delphi 2006 and above with the BcdCompare function
- Added Unicode support for NVARCHAR fields in the Direct mode of the Oracle provider
- Fixed bug with character set used for SQL statements in the Direct mode of the Oracle provider
- Fixed bug with decoding Unicode surrogate pairs in the InterBase provider
- Fixed bug with field names starting with RET_ in the InterBase provider
- Fixed bug with not executing prepared statement for the second time in the PostgreSQL provider
- Fixed memory leak in the UniDirectional mode in the PostgreSQL provider
- Fixed bug with detecting read-only fields when ExtendedFieldsInfo=False in the PostgreSQL provider
- Fixed bug with reading large objects with size more than 64 Kb in the PostgreSQL provider
2.00.0.3 06-Jan-09
- Fixed bug with treating some string elements as equal by CompareString
- Fixed several bugs in the PostgreSQL provider
2.00.0.2 09-Dec-08
- PostgreSQL support added
- Added UseWideMemos specific option of TUniConnection to the SQL Server provider
- Fixed bug with changing values of ptUnknown parameters on Execute
- Fixed bug for Delphi 2009 with updating varchar fields which contain Unicode symbols
- Fixed bug with ftSmallint fields in the Direct mode of the Oracle provider
1.20.0.13 19-Nov-08
- Fixed bug with field names containing '.'
- Fixed bug with assertion failure on editing components in design time for Delphi 5
- Fixed several bugs in DataSet Manager
- Fixed bug in Migration Wizard with converting binary forms in Delphi 2009
- Added calling the TfrxReport.OnBeforeConnect event when TfrxDACDatabase is connecting
- Fixed bug with name compatibility with ReportBuilder
1.20.0.12 23-Oct-08
- Delphi 2009 and C++Builder 2009 supported
- Extended Unicode support for Delphi 2007 added (special Unicode build)
- Free Pascal 2.2 supported
- Powerful design-time editors implemented in Lazarus
- Completed with more comprehensive structured Help
1.00.0.10 22-Sep-08
- Improved working with master/detail relationship when LocalMasterDetail=True
- Fixed bug with access violation on getting OldValue for BLOB fields
- Fixed bug with ConvertEOL option for string parameters
- Fixed bug with mapping empty strings to NULL in string fields
- Fixed bug with default character set used in the Direct mode for Chinese in the Oracle provider
- Fixed bug with the IsNull property for output string parameters in the InterBase provider
- Fixed bug with parsing RETURNING clause in the InterBase provider
1.00.0.8 21-Aug-08
- Added support for CREATE DATABASE, DROP DATABASE, CONNECT, SET statements in TUniScript for the InterBase provider
- Access violation on calling TClientDataSet.ApplyUpdates fixed
- Fixed memory leak with TIMESTAMP fields in the Oracle provider
- Fixed bug with the DeferredLobRead option in the Unicode mode in the Oracle provider
- Fixed bug with adding #0 to the end of Unicode BLOB values in the InterBase provider
- Fixed bug with Unicode string output parameters in the InterBase provider
1.00.0.7 11-Jul-08
- Added support of NOT LIKE keyword in the TDataSet.Filter property
- Added ability to recognize unquoted True/False values in DefaultExpression
- Improved working with master/detail on inserting new records
- Fixed bug with autocommit after deleting records
- Fixed several bugs when working with inactive datasets
- Fixed bug with filtering by TLargeIntField
- Fixed bug with calling the OnError event when LocalFailover is set to True
- Fixed bug with exception class in the TUniConnection.OnError event
- Fixed bug with the Prepare method and string parameters in Oracle provider
- Fixed bug with not using UpdateTransaction for TClientDataSet.ApplyUpdates in InterBase provider
- Added ability to call Code Editor from component editors
1.00.0.6 11-Jun-08
- Fixed bug with the SetOrderBy method
- Fixed bug with AV failure on assigning the OnFilterRecord event handler
- Fixed bug with determining primary key fields
- Fixed bug with generating update SQL with IS NULL in the WHERE clause at design-time
- Fixed bug with IsQuery property not reseting on SQL changing in Oracle provider
- Fixed bug with calculated ftDate and ftTime fields in Oracle provider
- Fixed bug with size of ftWideString parameters in Oracle provider
- Fixed bug with ptUnknown parameter values loss after execute in InterBase provider
1.00.0.5 23-May-08
- Added ability to get LastInsertId for MySQL
- Added BooleanDomainFields specific option for InterBase
- Improved work with master/detail
- Fixed bug with not freeing parameter objects on disconnect
- Fixed bug with updating data in TClientDataSet
- Fixed bug with parsing specific option values containing points
- Fixed bug with interpreting empty string parameters as NULL by InterBase provider
- Fixed bug with the QueryRecCount option and inline comment at the end of SQL statement in Oracle provider
1.00.0.4 23-Apr-08
- The first release of UniDAC
© 2008-2011 Devart. All rights reserved.