Pervasive.SQL V8 Service Pack 1 SRDE/MKDE Hot Fix - October 2003 Build 121.061 README.TXT Contents ------------------------------------------------------------------------ This document contains the following topics: * General Information * New Feature * Fixed Issues - MKDE * Fixed Issues - SRDE * Disclaimer ------------------------------------------------------------------------ GENERAL INFORMATION Welcome to the Pervasive.SQL V8 Service Pack 1 Hot Fix Release. This release is a full RPM installation that contains all the latest fixes for the Pervasive.SQL V8 SP1 code base. To upgrade Pervasive.SQL V8 on a Linux machine: 1. Log in as the root user 2. Assuming the new Pervasive.SQL V8 RPM package is in the current directory, issue the following command: rpm -Uvh Pervasive.SQL-8.10-121.061.i486.rpm ***** NOTE ***** The readme.txt file provided inside the RPM is the same as the Service Pack 1 full install -- it has not been updated to reflect Hot Fix information that is available in this readme file. **************** ------------------------------------------------------------------------ NEW FEATURE: CHANGE IN BEHAVIOR OF COLUMN CREATION OF BIT DATA TYPE Prior to this HotFix release, a SQL table column created with BIT data type was mapped to the underlying 1-bit BIT Btrieve data type. After installing this HotFix release, new columns created with the BIT SQL column type can be mapped to the underlying 1-byte LOGICAL. This feature allows these columns to be indexed and to be nullable. If you wish to use the new behavior where new columns are created as underlying LOGICAL data type, you can use a new SQL statement to set the CREATE behavior for the current session: SET TRUEBITCREATE=OFF ------------------------------------------------------------------------ CHANGE REQUESTS IN THIS HOTFIX FOR MKDE: 44260 Status 80 returned from cache engine for update within a transaction 44457 Cache engine not updated after insert from another machine 44482 Same as 44457 44508 L2 cache consumes too much memory on systems with more than two GB memory, preventing the SRDE from running 44608 Status 80 returned on update when application has two files open 44672 ACS not assigned on file create operations for 5.x and 6.x file formats 44778 Mismatch of physical and logical "free" page attribute, in 8.x file format only, causing status 2 44837 ACS applied only to first segment in index created with CREATE INDEX statement 44997 Inconsistent results when a Workgroup Engine creates data on, then fetches data from, a location running another Workgroup Engine engine 45004 NTDBSMGR abnormally terminates because of heap corruption 45022 Status 51 returned from cache engine after owner name cleared 45313 Status 87 returned because 16-bit handle pool out of handles 45486 MicroSoft Backup unable to back up files when continuous operations is in effect 45514 MKDE stops responding and requires a server reboot 45640 Numerous page server errors written to PVSW.LOG when MKDE under very heavy load 45647 Status 19 returned when large numbers of records inserted sequentially and data file has a WSTRING index 45834 Cache engine returns stale data on file open 45829 Same as 45834 46073 On Japanese NetWare 5.1, SQL access fails if LOAD BROUTER setting is "ON" 46462 Abend in BTCPCOM.NLM when using DTI to create new tables on server 46711 Status 19 on insert of record containing autoinc field 46715 Status 103 as a result of internal currency mismatch between server and cache engine when cache engine launches in the middle of a series of chunk operations 46727 Structure alignment issue causes hang on multi-CPU computer 46835 Implicit locks should not apply to read-only files in an exclusive transaction ------------------------------------------------------------------------ CHANGE REQUESTS IN THIS HOTFIX FOR SRDE: 42493 UPDATE inside stored procedure returns wrong rowcount 43166 SRDE slows dramatically or stops completely because of stored procedure with numerous nested calls 43754 @@IDENTITY global variable works with a secured database only for Master user 43766 General protection fault (GPF) results if "stacked" expression exceeds 21 levels 43855 Stored procedure returns incorrect data if variable length data defined as INOUT or OUT 43902 SQLDescibeCol reports incorrect precision for DECIMAL data type 43932 REPLACE does not work if replacing with an empty string 43988 Selecting blank (field=' ') and non-blank (field='') characters in same query produces inconsistent results 44002 General protection fault (GPF) results from UNION of views when the second view table has NULLs in some columns 44047 General protection fault (GPF) results when expression uses alias name same as column name 44078 Syntax error returns from stored procedure when UPDATE statement contains and IF clause 44145 Syntax error returns because stored procedures do not recognize tablename.* or viewname.* syntax in SELECT statements 44168 SRDE stops responding when server load become extremely heavy and user handles per process exceeds 10,000 44169 Incorrect results returned from use of IFNULL scalar function 44201 Error results (no error code) because of conflict between join optimizations 44216 Update with subquery returns error "On conditon column reference must be within outer join scope" 44244 ODBC 3.0 call SQLColAttribute using attribute SQL_DESC_TYPE returns incorrect value 44247 OLEDB returns incorrect results because IFNULL scalar function returns inconsistent data type 44250 Data is not grouped correctly for VARCHAR when using ORDER BY 44254 Incorrect use of index for nested UPDATES within a stored procedure 44260 Status 80 returned from cache engine for update within a transaction 44265 ODBC error results from SELECT against a view when same field name is used more than once in the SELECT 44302 IS NULL not returning results on segmented indexes 44333 SQL performance problem involving JOINs 44338 linux: problem with rapid shutdown/startup 44340 Second record is always missing after re-executing a query 44346 Unbound data file remains bound after removing referential integrity constraints 44351 Secure flag not saved in misc for bound databases 44373 DELETE statement only deletes one row from IN value list 44374 ALTER TABLE returns error "cannot convert Integer to Identity" 44440 SRDE abnormally terminates when statement predicate uses an aggregate without a HAVING clause 44453 Nested queries cause "invalid column number" error 44468 Sorting error on ORDER BY clause 44485 Error "Currency not on a record" results from JOIN optimization 44486 ODBC.NET: handling unsupported ODBC 3.X requests 44522 Performance improvements for a specific case of selecting all records from a particular record set 44564 Logical data type has one value when inserted via PCC and a different value when inserted by SRDE 44569 Using a semi-colon (;) at the beginning of a statement causes the SRDE to abnormally terminate 44602 CREATE VIEW not detecting mismatch between number of columns created and number of items in SELECT list 44603 Incorrect ordering results when columns in ORDER BY clause differ from the order of the columns in the SELECT list 44604 "Field is already defined" error on order by, join and static cursor query 44634 Aggregate functions returning different values depending version of Pervasive.SQL 44652 ORDER BY in query causes SRDE to adnormally terminate 44655 ADO applications experience query timeouts 44665 General protection fault (GPF) occurs if left side of a LIKE expression is a literal 44701 General protection fault (GPF) occurs when using INSERT INTO with a SELECT 44704 General protection fault (GPF) occurs when maximum number of SELECT columns exceeded 44748 Status 43 returned randomly because of invalid bookmarks 44766 BIT data type cannot be set to NULL or indexed 44768 Error "null not valid" returns for a PDAC query using UNION and the scalar function CONVERT 44805 Status 103 returned by ALTER TABLE when LONGVARCHAR column contains no data 44830 String returned by scalar function STUFF not terminated by a zero 44831 Status 22 returned if table using too many alternate collating sequences (ACSs) 44833 Multiple dynamic paramaters not allowed in SELECT, UPDATE, DELETE, and CALL statements 44837 ACS applied only to first segment in index created with CREATE INDEX statement 44965 Integer columns cannot be used as arguments in scalar functions 44994 General protection fault (GPF) occurs if TRIGGER contains column names too similar 45029 Truncation error results when decimal "0" is returned 45095 OR optimization fails if first index returns end of file 45189 Reserved word "action" cannot be used as an identifier 45236 Performance differences observed because of UPDATE optimizations 45290 Static cursors fail because of how file used to store them is named 45322 Scalar function REPLACE incorrectly replacing strings because of case insensitivity 45375 Status 62 returned for columns with ACS defined on them 45508 GPF when double negation used in WHERE clause 45699 Incorrect handling of select errors in stored procedures 45729 Characters passed to a LONGVARCHAR as a parameter in a stored procedure truncate after 255 characters 45799 Status 5 returned when creating system DDF's 45809 Error "S1002 invalid column number" returned when application issues a series of SQL statements 45845 Status 48 returns when two SELECT with COLLATE statements issued 45859 Error "invalid argument" returns when using "ABS" scalar function as part of a WHERE clause in a stored procedure 45929 Inconsistency in handling unsigned numeric data in stored procedures 45983 Grouped view access violation - message changed to indicate grouped views are not supported 46042 Inconsistent results with INNER JOIN and using WHERE clause 46099 Inefficient query plans for some SQL queries result in poor performance 46135 Enable engine to handle sql statement lengths upto 64K 46150 Invalid row-count in subquery error with TOP 1 46250 Maximum trigger recursive level was changed from 30 to 32. 46299 Select distinct is not optimized correctly with multiple segments 46393 Memory overrun when push-down filters used with segmented index 46403 Btrieve status 8 returned when trying to insert text into a legacy NOTE type column with database on Linux server 46432 Incorrect "Numeric Value out of Range" error returned when integer and float values compared internally for a CONVERT function 46467 Preserve duplicate key status (linked vs repeating) on alter 46581 SELECT * from table with LONGVARCHAR column type may result in wrong order of results 46647 CREATE INDEX IN DICTIONARY problem introduced in earlier patch build 46683 JOIN with 27 tables fails to complete 46764 DOS ERRORLEVEL returned incorrectly due to thread termination 46954 Memory allocation error for large (24k) query 46996 LIKE operator with '%' fails on some Japanese characters 47069 Expressions calculated in the first argument of an IFNULL function are not calaculated correctly 47158 "ALTER TABLE MODIFY xxx" fails to change column definition 47182 GPF when SQLSetPos(SQL_ADD) is called and the row number parameter is larger than the set rowset size 47208 Results incorrect for join where SRDE is optimizing on two different OR-connected conditions and the rows that would be returned by one condition would be rejected by the other due to the presence of NULL values 47269 Improved optimization for more than 30 OR-connected restriction conditions 47273 GPF in SELECT DISTINCT statement meeting several special conditions 47386 SELECT DISTINCT returns only first row if all index segments are not in the select list ------------------------------------------------------------------------ Disclaimer This application uses the free iODBC Driver Manager as written by Ke Jin >, enhanced with local modifications from Pervasive for the NetWare platform. Pervasive will donate their code changes to the current maintainer of the iODBC Driver Manager project, in accordance with the LGPL license agreement of this project. The iODBC Driver Manager home page is located at: http://www.iodbc.org For further information on this project, contact its current maintainer: Patrick van Kleef >. PERVASIVE SOFTWARE INC. LICENSES THE SOFTWARE AND DOCUMENTATION PRODUCT TO YOU OR YOUR COMPANY SOLELY ON AN "AS IS" BASIS AND SOLELY IN ACCORDANCE WITH THE TERMS AND CONDITIONS OF THE ACCOMPANYING LICENSE AGREEMENT. PERVASIVE SOFTWARE INC. MAKES NO OTHER WARRANTIES WHATSOEVER, EITHER EXPRESS OR IMPLIED, REGARDING THE SOFTWARE OR THE CONTENT OF THE DOCUMENTATION; PERVASIVE SOFTWARE INC. HEREBY EXPRESSLY STATES AND YOU OR YOUR COMPANY ACKNOWLEDGES THAT PERVASIVE SOFTWARE INC. DOES NOT MAKE ANY WARRANTIES, INCLUDING, FOR EXAMPLE, WITH RESPECT TO MERCHANTABILITY, TITLE, OR FITNESS FOR ANY PARTICULAR PURPOSE OR ARISING FROM COURSE OF DEALING OR USAGE OF TRADE, AMONG OTHERS. Copyright © 2003 Pervasive Software Inc. All Rights Reserved. ------------------------------------------------------------------------ Pervasive Software, Inc. http://www.pervasive.com 12365 Riata Trace Pkwy, Bldg B Austin, TX 78727 USA Voice: (512) 231-6000 Fax: (512) 231-6010 Online Pervasive Contacts: http://www.pervasive.com/company/contact *** END OF README.TXT ***