README.TXT FILE OCTOBER 2003 Build 121.061 SRDE HOTFIX RELEASE FOR WINDOWS SERVER, NETWARE SERVER, WORKGROUP ENGINE, AND WINDOWS CLIENT OF PERVASIVE.SQL V8 SERVICE PACK 1 PERVASIVE.SQL V8 SP1 REQUIRED *************************************************************************** * Before installing this HotFix, you must have installed * * PERVASIVE.SQL V8 SERVICE PACK 1. * *************************************************************************** NOTE *************************************************************************** * The readme file installed with the SRDE Hot Fix refers * * to the wrong build (121.056) and is missing 3 fixes (46954, * * 47269, 47386). * *************************************************************************** NOTES: It is highly recommended that you reboot and restart your server after applying this HotFix because your Database Engines are being updated. Applying this HotFix reveals an issue in Pervasive System Analyzer (PSA) where PSA may crash or disappear when starting the Relational Tests. You may obtain an updated version of PSA that does not have this problem (build 121.052 or later) from the Pervasive web site at the following URL: http://www.pervasive.com/support/updates/psa_update.asp 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 EXECUTABLE NAMES: Executable name: HF_SRDE.exe This HotFix is supported only in Windows environments where there is an existing install of one of the following: --- Pervasive.SQL V8 Service Pack 1 Workgroup Engine --- Pervasive.SQL V8 Service Pack 1 Windows Server Engine --- Pervasive.SQL V8 Service Pack 1 Windows Client Executable name: HF_SRDE_NW.exe This HotFix is supported only in NetWare environments where there is an existing install of --- Pervasive.SQL V8 Service Pack 1 NetWare Server Engine INSTALLATION STEPS: WINDOWS 1. Run HF_SRDE.exe on the computer where the client or database engine that you wish to update is installed. NETWARE 1. Run HF_SRDE_NW.exe from a client computer that is connected to the NetWare server that you wish to update. The install prompts you for the name of the NetWare server. SPECIAL INSTALL OPTIONS: If you wish to install these HotFixes silently from a batch or by calling out to them from within your own install you can use the following command line parameters: HF_SRDE -s -a-s HF_SRDE_NW -s -a-s The Windows HotFix install will automatically shut down any running engines, and then restart them when the install is completed. If you do not wish for the engine to be restarted after the HotFix is installed because you are embedding this install within another install, you can use the following parameters: HF_SRDE -a-nes The -nes parameter can also be combined with the silent install options: HF_SRDE -s -a-s -a-nes UNINSTALLING HOTFIXES: If you have installed multiple HotFixes on the same machine, you **must** uninstall them in the exact reverse order that you installed them. For instance, if you installed the HotFix for MKDE first and the HotFix for SRDE second on the same machine, you must uninstall the SRDE HotFix first, and the MKDE HotFix second. To determine the order of your installations, go to the directories created by each HotFix installation under \pvsw\name_of_Hot_Fix. Check the date and time in the install.log file. Doing the uninstalls correctly will ensure that you have your original components restored from the archives. COMPONENTS UPDATED: The Windows HotFix consists of the following components: MKC.DLL W3ODBCEI.DLL W3ODBCCI.DLL W3SQLMGR.DLL W3SQLMGR.EXE W3MGRRES.DLL W3MGRRSX.DLL W3MGRMSG.DLL PSCORE.DLL PSCL.DLL The NetWare HotFix consists of the following components: MKC.NLM NWSQLMGR.NLM NWODBCEI.NLM ODBC.NLM PSCORE.NLM PSCL.NLM 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 calculated 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 ********** END OF README ************