ODBC32, JDBC, and OLEDB Release Notes -------------------------------------------------------------------------------- Version 3.2.1.2 - September 30, 2011 (not for general release) -------------------------------------------------------------------------------- Optimizations added to both client and server. Improved support for Eloquence. Handle SQL statement edge case. Fixes for traces produced on Windows 7. Handle JDBC close connection timing issue. Handle errors in connection properties. Log network communications synchronization error. Meta-table updates. Changed coding to remove gcc compiler warnings. -------------------------------------------------------------------------------- Version 3.2.0.9 - July 19, 2011 -------------------------------------------------------------------------------- Improved tracing detail (HEX). Fixed issue with buffer reuse in a statement. Meta-table support changed for SQL Server. Handle empty (no usable fields) table. Added support for DBTYPE_NUMERIC and DBTYPE_DECIMAL. Buffer space allocation DBLocks are not attempted for linux servers Temporary file naming and creation Added handling of null strings Prevent Image type Z converted to float from losing scale when used as a literal Added code to convert 64bit pointers to identifiers JDBC Stop processing calls at an exception (was attempting to continue) Additional pointer validation checks to guard against invalid calls OLEDB Changes to headers provided by Microsoft. Changes to meta-table information regarding SQL_NUMERIC and SQL_DECIMAL ODBC Changes to "catalog" name -------------------------------------------------------------------------------- Version 3.2.0.0 - June 9, 2009 -------------------------------------------------------------------------------- MPE Server optimizations improve performance. Client optimizations done for Windows 32 and 64. Handle differing numeric scales in calculated items corrected. Widened scope of search for Eloquence libraries. Server trace leaks corrected. Added configurable Facility Name for syslog. Corrected memory utilization issue raised with compiler update. Corrected type conversion error raised with .NET update. Added workaround for having no accessible Image keys. Corrected parsing of floating point literals in SQL statements. -------------------------------------------------------------------------------- Version 3.1.0.0 - December 31, 2008 -------------------------------------------------------------------------------- Encrypt login information when connecting. Support for long Eloquence usernames and passwords. Show invalid username with IP address for Unix/Windows. Timeout on Message file (MPE file type MSG) select when file is empty. No longer supporting Schema Editor files more than seven years old (non-XML). Corrected the login trace on MPE. Use host translation table in bound selection parameters. API and Bookmark corrections for OS differences in 64bit ODBC specs. -------------------------------------------------------------------------------- Version 3.0.2.0 Build 0 - August 1, 2008 -------------------------------------------------------------------------------- Process Eloquence DB error messages. Zero fill all VARCHAR buffers. 64bit Linux support. -------------------------------------------------------------------------------- Version 3.0.0.3 Build 0 - July 2, 2008 -------------------------------------------------------------------------------- de-reference name conflicts. Heap Allocation Error fix. Fix SQL_NTS use in Bound Parameter. Fix 64bit ODBC support Fix implicit inner join. Logging changes to ReadIndexFile (_read). -------------------------------------------------------------------------------- Version 3.0.0.0 Build 0 - April 9, 2008 -------------------------------------------------------------------------------- Allow four part names when used from SQL Server. Unicode/Wide Character conversions corrected in the OLEDB Provider Optimized Omnidex Keyword searches when more than one key can be used for a table. Permit long Image passwords (Eloquence) odbc.ini search directory fix for Mac OSX. -------------------------------------------------------------------------------- Version 2.2.8.0 Build 0 - January 25, 2008 -------------------------------------------------------------------------------- This is a general or "push" release. This release contains important modifications and improvements that should be deployed to all sites. OJ mixed form multiple "on" clause fix. Added Ignore UID/PWD option. Fixed syslogd message leak. Log IP address on connection error. Added MSTRACELOGON. DECODE return value type now string. Mismatched quotes. -------------------------------------------------------------------------------- Version 2.2.7.6 Build 3 - November 15, 2007 -------------------------------------------------------------------------------- This is a "pull" release. Please contact Minisoft support for update files. A general release is planned with these changes and a new manual. Include version information. Allow tracing SQL Statements without fully enabling tracing. Increased tracing details. Support for UNIX based qsort routine. Configurable temporary directory. Support for CYYMMDD. Fix Packed number conversion for non-MPE. Support Omnidex on UNIX. Fix Unsigned Integer conversions. Option added to use native Eloquence calls. Fix defunct processes left when launching from a shell script. Fixed locking level on record delete and insert. Fixed dblock descriptor Endean issue with Windows based Eloquence. Added option to Ignore UID/PWD. Fixed 64bit Endean issues. Correct handling of GROUP BY syntax. Fixed handling of scaled constants. Corrected JOIN processing. Support for 64bit libraries. Cleanup memory when disposing of Statement Handles. Fixed multiple SQLGetData calls for truncated data. -------------------------------------------------------------------------------- Version 2.2.7.1 Builds as of October 16, 2006 -------------------------------------------------------------------------------- Support for UID and PID connection parameters. Initialize Default Language to -1 (use OS default). -------------------------------------------------------------------------------- Version 2.2.7.0 Builds as of June 28, 2006 -------------------------------------------------------------------------------- Build for Release. Return 08S01 in place of 08004 if server disconnects unexpectedly. (i.e. Job stopped for backup.) Long File Names. Return Item Type Meta Information. Performance (speed) optimizations. Adding ROWID. Consolidate platform source. Omnidex support with Eloquence Supports Robelle SD Files on UNIX -------------------------------------------------------------------------------- Version 2.2.6.5 Builds as of March 31, 2005 -------------------------------------------------------------------------------- Option for no auto _TPI suffix." Add limit to write packet size." Dynamic allocation of space for tracing buffer." Remove Uppercase only Database name" Remove requirement for {oj ... } syntax" Add Trace for SQL statement size (OPNS). Add url_unescape ( Value );" Refine TPI Token parsing." -------------------------------------------------------------------------------- Version 2.2.6.4 Build 2 - June 14, 2004 -------------------------------------------------------------------------------- Problems Corrected: Fix for parameterized Big Integers. Fix for truncation of record sets over 2000 bytes. Fix for TPI token parsing. If the search value contained a '-' the record would not be found unless the wildcard '@' was used. -------------------------------------------------------------------------------- Version 2.2.6.4 Build 0 - January 21, 2004 -------------------------------------------------------------------------------- New Features: Modifications for source code portability. Support for SQLDECIMAL and SQLBIGINT. Added results for SQLColumns when no table is given. Logging improvements. Diagnostic messages enhanced. Support for multiple server types. Support for multiple client types. Improved support of long server transactions. Added the functions ROUND, COALESCE, ISNULL, ISNUMERIC, SIGN, and DECODE. Added statement type HOSTCOMMAND. Allow 3kodbc.dll to self-install. Problems corrected: Fix for ADO and NULLABLE columns. -------------------------------------------------------------------------------- Version 2.2.6.2 Build 7 - August 5, 2003 -------------------------------------------------------------------------------- New Features: Speed improvements. Improvements to the tracing facilities. Additional Oracle support. Consolidation of code from different operating systems. Added ROUND function. -------------------------------------------------------------------------------- Version 2.2.6.2 Build 0 - July 3, 2003 -------------------------------------------------------------------------------- New Features: The primary feature added to this release is support for a variety of client types. In addition to Windows, we now support the driver running from HPUX, Solaris, Linux, and Mac OSX. Clients other than Windows must be licensed either individually (based upon HW) or by client type. Support for Oracle. An OS independent logging facility has been added to enhance support. Exception conditions (such as sign on failure) can now be logged to OS dependant processes (Application Event Log under Windows and syslogd under UNIX). The space between some of the properties is now optional. "Account Password" can now be represented as "AccountPassword". This feature was added for web based (primarily Java) tools that could not parse connection properties that included an embedded space. Problems corrected: CONCAT now handles data types other than CHAR and VARCHAR. Timing for checking whether the client is still alive was not accurate and has been fixed. Syntax errors in UPDATE statements are now reported. -------------------------------------------------------------------------------- Version 2.2.5 -------------------------------------------------------------------------------- Features: Added support for open clients (UNIX). -------------------------------------------------------------------------------- Version 2.2.4 -------------------------------------------------------------------------------- Features: Added support for open servers (Eloquence). -------------------------------------------------------------------------------- Version 2.2.3.7 Build 2 - January 24, 2003 -------------------------------------------------------------------------------- New Features: DllRegisterServer added for ease of deployment to users. A new environment variable for the server named "MSDECADEDIGITS" is defined to help support many variations of 2 digit years in date items. "MSDECADEDIGITS" should be set in MSJOB, before the RUN statement. Its value should be 20 characters that represent the 20 decades from 1900 to 2099. The default is "0123456789:;<=>?@ABC". These values will apply to the decade digit in any X item with a date mask that has only 2 year digits. A new parameter 'F' on ODBCSRVR will cause all records of a query to be read when the query is executed, instead of possible deferring the reads until rows are requested. Problems corrected: SUBSTRING function with start and length parameters that went beyond the length of the string caused and endless server loop. Timing for checking whether the client is still alive was not accurate and has been fixed. Server calls from a multiple threads using the same connection have been serialized so that server return information does not go to the wrong thread. Packed and Zoned fields incorrectly scaled. SQL_NUMERIC number that were scaled and pass to the driver as parameters for an INSERT UPDATE statement, were not getting scaled correctly. This was mainly a problem using the ADO methods. -------------------------------------------------------------------------------- Version 2.2.3.0 - December 5, 2001 (through build 2) -------------------------------------------------------------------------------- New Features: The logic to check whether the client is still alive has been extended to when records are fetched from the server. Also the logic is changed to check on the interval (set by MSQUERYCHECKINTERVAL), even if very few records qualify. Before it would only check the interval every 1024 qualified records, now it checks every 1024 reads from the db. Pause between Lock-Retries. After DBLOCK is issued, there is a pause for 0.25 seconds if the lock mode was conditional and the status return indicated that the attempted lock had failed. Problems Corrected: Null Terminated Strings and string length size client software inconsistency. SQLGetInfo checks return buffer space. Some very large SQL statements prepare into a request to the server that was too large for the input buffer. This was detected with a large IN predicate, but may have also been a problem with other very large SQL statements. A statement with the following where clause: where >= and <= would retrieve all the records. If there were two or more statements in a transaction that modified the same table, where one caused a set level lock and the other caused an item level lock, an error "Two descriptors conflict" would be returned. Now the set level lock overrides any item level locks on the same table and the item level locks are not attempted. Problem with negative values in P and Z types and ADO fixed. DBCLOSE mode 2 is called after each call to DBINFO mode 202 when the list of tables is retrieved right after the DBOPEN. This reduces the number of files that are open. -------------------------------------------------------------------------------- Version 2.2.1.1 - May 9, 2001 (through build 3) -------------------------------------------------------------------------------- New Features: SQLConnect parameters: UserName format: [,][.[,]] Authentication format: [[][/[][/[][/[]]]] SELECT * now returns the columns from all tables in the table list, not just the first one. Problems Corrected: SQLSetCursor caused GPF FLOOR and CEILING functions return incorrect results Real constants were not scaled correctly. Accessing the same dataset in one query did not work correctly. Problem with REPLACE function fixed. Column aliases could not be used in ORDER BY and GROUP BY clauses. -------------------------------------------------------------------------------- Version 2.2.1.0 - March 12, 2001 -------------------------------------------------------------------------------- New Features: All conditions in the ON clause of LEFT OUTER JOINS are used in the join. Problems Corrected: Key definitions lost when reading from an old schema editor file. The problems was with the related table information. -------------------------------------------------------------------------------- Version 2.2.0.0 -------------------------------------------------------------------------------- New Features: Schema file format changed to xml. Fixes limit on number of key components. Able to specify keys in detail data set as unique. Able to specify a lock item for data sets in schema file BETWEEN and LIKE predicates now cause key read for KSAM files. Server will detect if client closes the connection in the middle of a query. The interval to check (in seconds) is set with the MSQUERYCHECKINTERVAL CI variable. The default is 60 seconds. Problems Corrected: DISTINCT looks at all columns, it should only look at columns in the select list. Conversion of character data type to Big Integer caused the server to abort. (fixed 2 cases) Conversion of character data type to Big Integer caused the server to abort. (fixed 3rd and last case) If you save a Catalog Editor file in the middle of editing it then import another Schema or Database it duplicates the schemas/databases you have already loaded. -------------------------------------------------------------------------------- Version 2.1.9.1 -------------------------------------------------------------------------------- New Features: For self describing files, numeric items that follow character items are having the Signed Flag set to No instead of Yes. Problems Corrected: Problem with automatic multiple database opens (typically done in ADO apps) causing server aborts fixed. Zoned fields in HP self-describing files sometimes had left truncation occurring. Bad data conversion of zoned and packed fields would yield unpredictable results. Now the column is set to NULL. SQLBindParameter fixed to use a length of SQL_NTS if StrLen_or_IndPtr is null. Functions in GROUP BY clause or nested functions in ORDER BY clause would cause the driver to abort. Additional debug markers put in to track down a site specific problem. -------------------------------------------------------------------------------- Version 2.1.9.0 - August 10, 2000 -------------------------------------------------------------------------------- New features: Immediate return from SQLExecute is expanded to include all SELECT statements without all of the following: DISTINCT keyword Aggregate functions GROUP BY clause HAVING clause ORDER BY clause Any SELECT statement without all of the above constructs and is only accessing tables in databases will defer reading of the databases until the client software actually requests data via SQLFetch, SQLExtendedFetch, or SQLFetchScroll. This allow partial results to be viewed much quicker. Additional DBOPENs will be issued automatically if a dataset is accessed more than once in a statement, or if more that one statement in a connection is accessing the same dataset. This allows the following type of statement: SELECT a.item1, b.item2, c.item3 FROM set1 as a, set2 as b, set2 as c WHERE ... Access to set1 and the first reference of set2 will be through one DBOPEN, while access to the second reference of set2 will be through a second DBOPEN. Problems Corrected: Allow joining via TPI keys. Lost query column information when SQLCloseStmt ( or equivalent ) was called. No indexes reported if one of the TPI keys is based upon items the DB password does not grant access to. Scaling for parameters of type SQL_C_NUMERIC. SQLBindParameter ( hStmt, 1, 1, 1, 12, 0, 0, e1, 0, nil ), will now not cause a driver crash when e1 contains a value. SQLGetInfo - SQL_DRIVER_NAME=6 will now return the filename with extension (3kodbc.dll). Support for SQL_ODBC_SAG_CLI_CONFORMANCE in SQLGetInfo. -------------------------------------------------------------------------------- Version 2.1.8.8 - June 27, 2000 -------------------------------------------------------------------------------- New Features: Added Options tab on DSN configuration dialog. Added CenturySplit DSN entry. Used for conversion between 2 digit years and 4 digit years. 2 digit years less than the number will have 2000 added. 2 digit years greater than or equal to the number will have 1900 added. Problems Corrected: Fix for invalid dates always causing a compare condition to be true. Fix for @ being stripped from composite TPI index search value. Problem with numeric TPI multiple-type indexes fixed. Added support for >, >=, <, <=, and BETWEEN operators for TPI multiple-type indexes. -------------------------------------------------------------------------------- Version 2.1.8.7 -------------------------------------------------------------------------------- Problems Corrected: Fix for calculated item column names. Fix for SQLDescribeCol returning a column size of 0 for non-SQL_CHAR type TPI keys. -------------------------------------------------------------------------------- Version 2.1.8.6 - April 20, 2000 -------------------------------------------------------------------------------- Problems Corrected: Fix for explicit INNER JOIN syntax and StandardJoins Fix for SQL_NUMERIC parameters (ZONED) -------------------------------------------------------------------------------- Version 2.1.8.5 - April 5, 2000 -------------------------------------------------------------------------------- New Features: Begin returning data before all records are read when using SELECT * FROM table. -------------------------------------------------------------------------------- Version 2.1.8.4 - March 2, 2000 -------------------------------------------------------------------------------- Problems Corrected: Corrected problem using fast read on large sets. Corrected Schema Editor write to existing Schema Editor files that had lockwords. -------------------------------------------------------------------------------- Version 2.1.8.4 - February 22, 2000 -------------------------------------------------------------------------------- New Features: New DSN registry variable 'ItemLocking' controls whether to use item level locking. The default is 'ENABLED' (case insensitive) which enables item level locking when possible. Any value other than 'ENABLED' will cause all locking to be done at the set level. This is necessary when error -222 ('Descriptor list exceeds 4094 bytes') is returned from TurboImage. This typically happens when an INSERT, UPDATE, or DELETE statement is executed many times (50 to 100), or many statements (approx 50 to 100) are executed within the one transaction. Examples: ItemLocking="ENABLED" - Enables item level locking ItemLocking="DISABLED" - Forces set level locking The SQL processing for "select * from table" has been streamlined. Any instance of this statement will operate at a much higher rate. Use "" (case insensitive) in Catalog User field in a DSN to use the Windows user name as the catalog login name. The windows user name must be 16 characters or less and it is upshifted for matching against users in the catalog. Any other entry in the Catalog User field will be granted no access through the catalog. This means that the Catalog user field must be blank or "" in order to get any access if the catalog is enabled. Problems Corrected: Problems with IN predicate introduced in 2.1.8.1 fixed. Problem caused by TPI indexes on array items fixed. Problem with NULL column values and ADO fixed. -------------------------------------------------------------------------------- Version 2.1.8.1 - February 8, 2000 -------------------------------------------------------------------------------- New Features: Schema editor can assign sql data type, sql byte length, precision and scale to calculated items. This information is only used as metadata by calls to SQLColumns. It does not determine the actual type, size, precision, and scale. The parsing of the expression determines the actual type, size, precision, and scale. So it will be important to make sure these two things match. The actual type, size, precision, and scale of an expression can be found using ODBC Test to prepare a statement with the calculated item in the select list, then using SQLColumnAttr and SQLDescribeCol to get the info. StandardJoins="YES" in the DSN will cause inner joins to be done as the SQL standard requires. All new DSNs will have this set to "YES". If the setting doesn't exist or is anything other than "YES" (case insensitive) the existing inner join logic will be used. DB passwords and file lockwords are now encoded in schema editor files. Also all passwords passed across the network are encoded. Support for ADO AddNew, Update, and Delete methods. Note: The recordset must use a client side cursor. Problems Corrected: A comma at the end of the select list caused an abort. It now is a syntax error. Multiple DELETEs done in MSAccess aborted ODBCSRVR. SELECT * FROM produced blank values in the columns of any calculated items. WHERE NOT ... IS NULL never returned any records. File lockwords for schema editor files were being truncated when a DSN was modified. WHERE clause optimizations to do key reads whenever possible and to correct some incorrect results Security/3000 password was being checked when the 'S' option was not included as an argument to ODBCSRVR. Access restrictions specified in a catalog were not applied correctly to calculated items. -------------------------------------------------------------------------------- Version 2.1.7.5 - December 22, 1999 -------------------------------------------------------------------------------- New Features: Schema Editor handles more PDL structures. Problems Corrected: Removed over-optimization of parenthesis in where clause. -------------------------------------------------------------------------------- Version 2.1.7.4 - December 9, 1999 -------------------------------------------------------------------------------- New Features: Data transfer across the network has been streamlined. The biggest benefit will be noticed over WANs. K8 ALLBASE date type is supported Support for version 8 Quiz subfiles Problems Corrected: If a table has a correlation names, the actual table name will no longer be a valid name to qualify column names. This syntax in the WHERE clause now produces the correct results: key = value1 AND column = value2 OR key = value3 AND column = value4 Problems with scaling numeric items in INSERT and UPDATE statements are fixed. Schema Editor - Items with subitem count > 1 add during a refresh from database operation, where not added with the correct name. -------------------------------------------------------------------------------- Version 2.1.6.1 - September 28, 1999 -------------------------------------------------------------------------------- Enhancements: Item Level database locking. If an UPDATE or DELETE (detail datasets only) statement has a where clause that specifies an IMAGE key with an '=' relational operator or a BTREE key with '=', '<=', or '>=' relational operators, the locking for that statement will be at the item level using the key item and the associated value and relational operator. For INSERT statements on detail datasets, the first item in the item list and its value will be used for the lock. Unconditional locking and conditional database locking retries. The "LockRetries" registry entry for a datasource can be use to specify the number of time to retry a conditional lock. If set to '0', then unconditional locking will be used. CAUTION: never use unconditional locking when locking multiple databases and/or files, unless all applications apply the locks in the EXACT same order. The order locks are applied in and ODBC transaction are determined by the order of the SQL statements in the transaction. The use of the MPE Transaction Manager (XM) may be disabled with the "DisableTxns" registry entry. If set to "NO", ODBC/32 will use XM when executing updates, deletes, and inserts ( this is the default ). If set to "YES", ODBC/32 will NOT use XM when executing updates, deletes, and inserts. This should only be used when an UPDATE, DELETE, or INSERT statement causes the XM's log file to fill up. CAUTION: when "DisableTxns" is set to "YES", a rollback cannot be done if the statement encounters an error ( or the system goes down ). All records modified up to that point will remain modified. Fixes: SQLDescribeParam did not return correct information about parameters unless SQLBindParam was called first. Some client applications ( most notably PowerBuilder ) were calling SQLDescribeParam to get information to use when calling SQLBindParam. Now SQLDescribeParam will return the correct information about parameters immediately after a statement has been prepared. -------------------------------------------------------------------------------- Version 2.1.5.5 - August 12, 1999 -------------------------------------------------------------------------------- New features: Support for KSAM partial key searches. Use the = operator with a value ending with an '@' character. Support for KSAM indexed sequential retrieval using the > and >= operators. Support for both retrieval methods for TPI keys that are both sorted ( generic key retrieval ) and multiple ( keyword key retrieval ) indexes. Use the = operator with any TPI wildcards for generic retrieval. An exception is if the first character of the search value is '@', then keyword retrieval is used. Use the LIKE operator for keyword retrieval. Performance enhancement for inner joins. Problems corrected: Some clients used SQLSetStmtAttr to set the maximum size of a result set. If this size was exceeded an error was generated, unless the registry entry "WarningsAreError" for the datasource was set to "NO". Reaching the row limit set by the client with SQLSetStmtAttr will no longer cause this error. Reaching the row limit set in MSJOB with the MSQUERYRECLIMIT variable will still trigger the error as intended. Conversion problems for types I1, I3, I4, J1, J3, J4, K1, K3, K4 to SQL_NUMERIC are fixed. Problems with searching on a TPI composite index, where some or all of the component were type Z are fixed. Problems with Quiz version 3 subfiles are fixed. It is no longer necessary to use 2 double quotes in a string literal to represent one. Statement parameters that should have been types SQL_INTEGER and SQL_BIGINT were sometimes set to SQL_SMALLINT causing a loss of data. ABS function did not work correctly. Conversion of types R2 and R4 to SQL_FLOAT and SQL_DOUBLE would sometimes loose the last bit of precision. This could cause two numbers that should be equal to compare as unequal. -------------------------------------------------------------------------------- Version 2.1.5.2 - June 14, 1999 -------------------------------------------------------------------------------- Problems corrected: Misc. PowerBuilder 6.5 aborts fixed Automatic conversion to SQL_NUMERIC sometimes cause server to abort in malloc() Sometimes scaling for calculated columns was incorrect. Some clients ( mainly IIS, RDS, SQL Server 7 ) had problems when character columns were automatically trimmed. SQL_CHAR columns are no longer automatically trimmed. A new type, SQL_VARCHAR, is used for string functions that can returned a variable number of characters. Also, the type and length for string functions is calculated based upon its arguments, rather than just be set as SQL_CHAR with a length of 254. -------------------------------------------------------------------------------- Version 2.1.5.1 - May 18, 1999 -------------------------------------------------------------------------------- New features: Columns in the HAVING clause are no longer required to be in the select list. The DISTINCT option is supported for COUNT, SUM, MAX, MIN, and AVG aggregate functions. Support for nested joins. Problems corrected: Functions can now be in the ON clause or specified in the WHERE clause as part of a join condition. ABS function now works correctly. -------------------------------------------------------------------------------- Version 2.1.4.4 - April 21, 1999 -------------------------------------------------------------------------------- New features: Support for the IS NULL comparison predicate. Useful when trying to find all of a master table's records that have no detail table records. (2.1.3.4) Schema Editor GUI - Right mouse pull down for Properties and Remove commands. (2.1.4.0) Support for new date type used in MM and some other packages, i.e.: 99 = 1999 A0 = 2000 A1 = 2001 B0 = 2010 Use 'A' instead of 'Y' as year mask to use this date type (2.1.3.6) Problems corrected: Large return buffers are now handled correctly (2.1.4.4) Constants are allowed in the select list (with or without aliases) (2.1.4.3) Problem defining Schemas file(s) and Self-describing file(s) in the same DSN (2.1.4.1) Updating and Deleting multiple records from a KSAM file. Only the first record was updated/deleted. (2.1.3.6) UPDATE statement with parameters sometimes results in GPF. (2.1.3.4) SQLSetStmtAttr - SQL_ATTR_MAX_ROWS to set maximum rows in query did not work correctly. Fixed and added an entry for the DSN called "WarningsAreErrors" to control if when the limit is reached an error or a warning is generated: WarningsAreErrors="YES" is the default. This means that if the max rows is reached or the max CPU time is reached, an error is returned to the client and the result set is empty. If WarningsAreErrors="NO", then only a warning is returned to the client and the result set will have records in it. The default is to treat these warnings as errors because many clients ignore warnings, therefore a user might reach a limit, but would not know about it. The site can choose what they want for this setting based upon the client software they have and whether or not they think the user needs to see warnings or not. (2.1.3.6) Date difference returns only positive integers, negative values return as zero. (2.1.3.4) Delphi parameters problems. (2.1.3.4) I3 data items not handled, (2.1.3.4) A GPF is caused when a parameter is the first primary of a compare predicate, i.e. WHERE ( ( item1 = ? ) AND ( ? = item2 ) ). (2.1.3.6) Access violation error while trying to use parameters in a Query 97. (2.1.3.6) BETWEEN comparison predicate did not work with composite TPI keys, when the composites were not full items. (2.1.4.0) PowerBuilder had problems getting key information correctly. (2.1.4.0) Problem defining Schemas file(s) and Self-describing file(s) in the same DSN. (2.1.4.0) VB6 ADO Form Wizard had problems with table names containing an underscore. (2.1.4.0) -------------------------------------------------------------------------------- Version 2.1.3.2 - February 22, 1999 -------------------------------------------------------------------------------- New features: Refresh schema editor file from Image database option. Import data descriptions from PDL files into Schema Editor files. Problems corrected: SQLBindCol caused 'Access Violation' when the columns weren't bound starting at column 1 and sequential. Quiz version 7 subfiles with indexes were not read correctly. -------------------------------------------------------------------------------- Version 2.1.2.1 - December 22, 1998 -------------------------------------------------------------------------------- New features: Read/write access to the following self-describing files: Query self-describing files Robelle self-describing files Quiz subfiles, versions pre-3, 3, 5, 6, and 7 Problems corrected: DBFind errors on numeric image keys with B-Tree indexes fixed -------------------------------------------------------------------------------- Installation Release Notes for version 2.1.x -------------------------------------------------------------------------------- User Installation Disk 1 contains the files needed for a User install. Insert the disk. Click start, run. Type; A:\SETUP.EXE (A being the letter of your floppy drive) Follow the on-screen instructions. Admin Installation Disk 2 contains the files needed for an Admin install. Only install this disk were one would be needing to access the catalog and schema editor. Insert the disk. Click start, run. Type; A:\ADMIN.EXE (A being the letter of your floppy drive) Follow the on-screen instructions. Server Installation Disk 3 contains the files needed for a Server installation. No emulator is needed for this install. Insert the disk. Click start, run. Type; A:\HPSETUP.EXE (A being the letter of your floppy drive) Follow the on-screen instructions. -------------------------------------------------------------------------------- Version 2.1.3.2 - February 22, 1999 -------------------------------------------------------------------------------- New features: Refresh schema editor file from Image database option. Import data descriptions from PDL files into Schema Editor files. Problems corrected: SQLBindCol caused 'Access Violation' when the columns weren't bound starting at column 1 and sequential. Quiz version 7 subfiles with indexes were not read correctly. -------------------------------------------------------------------------------- Version 2.1.2.1 - December 22, 1998 -------------------------------------------------------------------------------- New features: Read/write access to the following self-describing files: Query self-describing files Robelle self-describing files Quiz subfiles, versions pre-3, 3, 5, 6, and 7 Problems corrected: DBFind errors on numeric image keys with B-Tree indexes fixed -------------------------------------------------------------------------------- Version 2.1.1.1 - December 7, 1998 -------------------------------------------------------------------------------- New features: Full Omnidex and Superdex key support, including composite keys. Problems corrected: Writing items defined as SQL_DATE type, when the conversion type was number of days since a starting date was done incorrectly. Date function problems fixed. AS optional in select list AS optional in table list Dash used for date separator when converting date to ASCII instead of slash. 2.1.1.0 beta didn't fetch any keys when run on MPE/iX 4.0 Catalog Editor sort of special characters incompatible with lookup routines in server program. -------------------------------------------------------------------------------- Version 2.1.0.4 - October 23, 1998 -------------------------------------------------------------------------------- This interim release corrects the following known problems: Some ADO Move n and Move -n operations causing GPF. Database with no tables, or opened with a password that had no tables causes GPF. Date conversion to some numeric types done incorrectly on UPDATEs and INSERTs. PowerBuilder 6.5 problems with parameters. MSAccess 95 did not read dates correctly. Empty parameters on UPDATE statements did not overwrite existing data. Schema Editor did not allow lowercase database passwords. -------------------------------------------------------------------------------- Version 2.1.0.3 - October 16, 1998 -------------------------------------------------------------------------------- Support for Visual FoxPro. Support for Quattro Pro. Conversion for free format numbers in X field to numeric SQL types. ODBC32 will check Security/3000 passwords correctly. ADO Move n and Move -n corrections. When the LIKE predicate was used on at least two columns that were in different tables, no record were found. Active Server Pages was not getting some P and Z fields converted correctly. -------------------------------------------------------------------------------- Version 2.1.0.0 - September 24, 1998 -------------------------------------------------------------------------------- Key finds when the key item has been redefined as a date type did not work. Fixed. Visual FoxPro problems fixed. SQLExtendedFetch row-wise binding problem fixed. Database password always uppercase in DSN. Fixed to allow both uppercase and lowercase. Security/3000 support. Security/3000 password can be configured in the DSN. New security catalog, with Windows based editor ( Catalog Editor.exe) -------------------------------------------------------------------------------- Version 2.0.2.2 - July 20, 1998 -------------------------------------------------------------------------------- Negative value for P16 will now be converted correctly on parameterized INSERT statement. Date conversion will now be retrieved correctly for record-based items. Key components can be removed in component list. String parameters in DELPHI for other than blank. MoveFirst method of ADO positioned result set to record one. Nested string functions return expected values. DELETE statement works as documented Column names returned to VB (DAO). -------------------------------------------------------------------------------- Version 2.0.2.1 - July 7, 1998 -------------------------------------------------------------------------------- Like clause now supports run time parameters. * Item name length now has a 32 character maximum. -------------------------------------------------------------------------------- Version 2.0.2.0 - July 1, 1998 -------------------------------------------------------------------------------- Support for the following statements: Records are cached. Performance of downloading a large number of records is greatly increased. All datasource configuration values can be put on the connect string. All names are case sensitive. They are: 2DriverTable= 2HostTable= Account= Account Password= Database = DecimalPoint= Desciption= Group= Group Password= Jobname= Langauge= Schema = Server= Server Port= User= User Password= HAVING clause for selecting on aggregate values Other Changes: Table correlation name with underscores will no longer cause a syntax error. Reporting tools will treat numeric items as numeric. SELECT with criteria of keyitem = constant OR item = constant, criteria with key dropped. MSQuery 95 aborts corrected. Tried to allow write to databases and files not opened for write. Would get error on write attempt. Now it doesn't even allow the write attempt. Perl scripts retrieve data. Data conversion problem with writing ZONED items (Z6). -------------------------------------------------------------------------------- Version 2.0.1.0 - June 17, 1998 -------------------------------------------------------------------------------- Support for the following statements: UPDATE table-name SET column-identifier = {expression | NULL} [, column-identifier = {expression | NULL}]... [WHERE search-condition] DELETE FROM table-name [WHERE search-condition] INSERT INTO table-name [(column-identifier [, column-identifier]...)] VALUES (insert-value [, insert-value]...) Transaction support (multiple statements in the same transaction) Other Changes: Correction to the LIKE qualifier. * Nested function calls in select list handled correctly. GROUP BY correction. Schema Editor generating incorrect aoptions for KSAM and MPE fixed -------------------------------------------------------------------------------- Version 1.2.0.13 -------------------------------------------------------------------------------- Support for date type data items: Conversion from popular date formats via Schema Editor Date arithmetic, add/subtract days to/from date, number of days between dates. Support for date functions: CURRENT_DATE, CURDATE, DAYOFMONTH, MONTH, YEAR. Complete support of SELECT DISTINCT implemented. COUNT(*) implemented. Runtime prompts for any database passwords or file lockwords that are set to '?' in either the datasource configuration or the file open configuration in the Schema Editor. This applies to Schema file lockwords as well. -------------------------------------------------------------------------------- Version 1.2.0.12 -------------------------------------------------------------------------------- Corrections for KSAM key searches -------------------------------------------------------------------------------- Version 1.2.0.11 -------------------------------------------------------------------------------- B-Tree indexes (requires MPEiX 5.5p3 or later). Ê Key searching using all relational operators, ranges, and wildcards. Enhanced support for TPI keys.Ê Key searching using all relational operators, ranges, wildcards, and keywords. Support for DISTINCT -------------------------------------------------------------------------------- Version 1.2.0.10 -------------------------------------------------------------------------------- GROUP BY clause Aggregate functions: AVG, COUNT, MIN, MAX, SUM Expression in select list Name items and expressions in select list with AS clause Expressions in ORDER BY clause Calculated items in Schema Editor SQLForeignKeys support -------------------------------------------------------------------------------- Version 1.2.0.9 -------------------------------------------------------------------------------- Misc. product issues: Crystal Reports 6.0, Cold Fusion. Additional syntax, string and numeric functions in the where clause. (ASCII, CHAR, CHAR_LENGTH, CHARACTER_LENGTH, CONCAT, INSERT, LCASE, LEFT, LENGTH, LOCATE, LTRIM, REPEAT, REPLACE, RIGHT, RTRIM, SPACE, SUBSTRING, UCASE, ABS, CEILING, FLOOR, MOD, OCTET_LENGTH) Eliminate the ODBC/32 Connect box from many applications. A question mark (?) in the password field will force the connection dialog prompt Configurable limit on size and time of a SELECT. Maximum records per query set with SETVAR MSQUERYRECLIMIT Maximum cpu time per query set with SETVAR MSQUERYCPULIMIT -------------------------------------------------------------------------------- Version 1.2.0.8 -------------------------------------------------------------------------------- Improved support for Omnidex-based TPI keys. Additional options for KSAM file access (aopts). Increased Native Language support. Additional SQL syntax (LIKE). -------------------------------------------------------------------------------- Version 1.2.0.7 -------------------------------------------------------------------------------- Correction to string handling in searches (length). Correction to search optimizer now allows not equal in key field searches. -------------------------------------------------------------------------------- Version 1.2.0.6 -------------------------------------------------------------------------------- Support for Active Server Pages. This innovation brings state-of-the-art web-based business tools into the HP environment for the first time -- letting you develop web-oriented forms and screens that connect, via a web browser, to your legacy data on an HP 3000. In other words, Active Server Pages (ASP) lets you access ActiveX components (formerly known as OLE automation servers) from a webpage. For instance, you can use ASP to retrieve records from a database on the HP 3000 and display them on your webpage. Support for Microsoft's Visual Interdev. Version 1.2.0.5 Translation table support. All problems reported pertaining to joining tables with zoned and packed keys are fixed. All known problems with scaling and signed zoned and packed numbers are fixed. More of the ODBC 3.0 API is supported. (FrontPage Database Connections) -------------------------------------------------------------------------------- Version 1.2.0.4 -------------------------------------------------------------------------------- Corrections for floating point constants. MPE & KSAM field length read error. -------------------------------------------------------------------------------- Version 1.2.0.3 -------------------------------------------------------------------------------- Corrections for real data types. -------------------------------------------------------------------------------- Version 1.2.0.2 -------------------------------------------------------------------------------- Item redefinition. MPE, KSAM files -------------------------------------------------------------------------------- Version 1.2.0.1 -------------------------------------------------------------------------------- Arrays (Image subitems) -------------------------------------------------------------------------------- Version 1.1.0.9 -------------------------------------------------------------------------------- IN(...) BETWEEN ... AND ... -------------------------------------------------------------------------------- Version 1.1.0.8 -------------------------------------------------------------------------------- Removed TEMP file limitations. Additional support for TPI.