Pervasive.SQL V8 Service Pack 2 History of Enhancements and Fixes since Pervasive.SQL 8.50 July 2004 HISTORY. TXT This document contains information on some of the changes that were made in Service Pack 2 since the previous release of Pervasive.SQL. The previous release was Pervasive.SQL Security v8.50. The What's New document contains detailed information on all new features in 8.50. MIF ************** 47757 Incorrectly returning a status 12 when a status 116 should be returned based on the floating gateway locator file value MKDE ************** 49102 Get Next returning status 2 in a specific case where it should return at a status 7 47713 Rebuilding a file from an older format such as 5.x could cause a status 28 if the page size for an 8.x file format exceeded the limit 49015 With the Backup Agent activated, CPU utilization goes to 100% while manipulating Btrieve files with conflicting file extensions 49036 Page server does not send all invalid pages to all client cache engines SRDE ************** 49315 Legacy datatype ZSTRING is not null terminated and could cause a random memory failure when optimizing in the SRDE 49316 Not Null Constraint causes status 5 when field names are over 17 characters 49293 Incorrect results with OR optimization optimizing on different indexes (only if 1st index is unique) 49307 Corrupt data in customer database caused the ODBC engine to abort 49201 Return error if create dictionary requested through DTI if partial DDFs exist prior to request to create them again 49217 Allow read only access to DDFs through ActiveX apps if owner name allows read access 49170 Invalid truncation error on MIN causing OLEDB app to fail 49156 SQLExtendedFetch(SQL_PRIOR) returns SQL_NO_DATA even when the rows are available -- in this case an index must be used, the ROW_SETSIZE must be greater than 1, using DYNAMIC cursor type, and the previous SQLExtendedFetch must reach the end of the row set and return fewer rows than the ROW_SETSIZE 49049 PARC enabled when running SQL activity could cause disconnects to happen at midnight GMT 49179 Some non-English non-displayable characters were not being handled correctly by a C-runtime function such as isspace used by the SRDE 49162 Connecting with an empty string in the database name field could cause Pervasive.SQL to crash 48965 Query may return incorrect results with >,>=,<,<= operator and with a constant on the left side of the predicate. For example, 10 >= c1. 49049 PARC enabled when running SQL activity could cause disconnects to happen at midnight GMT 48873 Retrieving a long buffer using the Pervasive JDBC driver where the data returned was over 8192 (8K buffer or hex number 0x2000) could cause a fatal error in the SQL database engine 48410 Left outer join with at least 3 tables where columns from 2 tables are in the ON condition and the order of predicates in ON condition is in a specific order where the engine could not determine which index to optimize 48468 Adding a WHERE clause to a LEFT OUTER JOIN query caused engine to incorrectly optimize performance under certain conditions 48463 Inserting into a file from a select statement could incorrectly truncate a varchar 48420 Stored Procedure which updates several thousand records in a loop could cause a stack overflow under certain conditions 47589 Improved handling of IFNULL to be more SQL standard 48323 Cursors are not supported in a nested stored procedure -- error now returned is "Procedure returning result set not allowed in triggers or nested calls" 47738 ANDing an additional condition to restriction causing slow performance 48107 Incorrect Labels error returned when running a select query with a LEFT OUTER JOINT using a particular view 48096 Create table IN Dictionary clause is NOT matching the index in Btrieve file if the index has a non-modifiable flag 47702 'Null not valid' error returned with Distinct clause using LongVarChar defined as NOT NULL and field value is empty 48043 GetConnectionOption(SQL_LOGIN_TIMEOUT) not implemented on client so fails with OLEDB application using ODBC bridge 48100 Intensive use of connecting and disconnecting with Delayed Sync close enabled could cause a fatal error 48028 Mixing lower and upper case literals in restrictions with DNF formatted statements have problems converting to CNF for internal processing 48027 UPDATE statement with a subquery that contains aggregates does not return expected results 47996 SQL_TSI_MONTH is not working correctly if day value is not valid for the given month after addition or subtraction functions 47823 Very large select statement with Union will fail 47696 A predicate uses two columns of a segmented index where 1st is ascending and 2nd is descending -- if the descending segment is in the predicate twice incorrect results will be returned from a select with a where 47788 Dynamic parameters in Update set clause in Stored Proc are not resolved 47730 Query using an Order By and a static cursor that is large enough to require a temporary table that must be written to disk could return a corrupted record under very specific conditions 47610 Triggers may cause corrupted results if fired on certain numeric datatypes 47655 Incompatible type in expression error trying to bind a Timestamp column 47675 Numeric Out of Range error returned on SUM only on Windows 2000SP4 (works fine on other OSs and on Windows 2000 first ship) 47638 View column in a ORDER BY causing an error to be returned 47576 @@IDENTITY or @@ROWCOUNT evaluated within a trigger could cause the values of other variables in the trigger to be corrupted 47582 OS out of memory error was not being logged in pvsw.log when received during a load of the SQL session manager 47560 Very large values in a double datatype was losing exponent value when being assigned to a variable that would be inserted through a Stored Procedure 47564 LIKE with a pattern that starts with either a _ or % which was being optimizing on an index segment that was not the first segment and optimization involved an OR connected condition was causing a fatal error 47548 An aggregate in an IF in the selection-list or HAVING clause should be allowed but was returning an error 47557 Order By is causing status 6 when non-standard ACS is part of the index with CursorLocation as Server and CursorType as Static 47575 ORDER BY was not being correctly handled if it was inside an updateable cursor for Stored Procedure 47506 SQLSetPos(SQL_ADD) is called and the row number parameter, the second parameter, is larger than the set rowset size 47495 Aliases were not being resolved in any SELECTs except the first if a UNION is present and aliases in subquerys were not being resolved 47493 USING is not supported in a stored procedure 47542 @@IDENTITY is not returned properly if the insert was done from one statement and the select @@identity from another 47528 When performing a comparison to zero on a multiplication expression where the result of the multiplication is zero, incorrect rows would be returned if the datatypes being used in the multiplication were a mix of decimal and integer 47401 Null in the middle of a longvarchar was terminating the string when accessed through OLEDB application 47335 Stored Procedure does not update all columns when the procedure has 2 columns of different datatypes, and is using an updateable cursor multiple times 47042 RTRIM does not remove the trailing space 47405 Query was not optimizing correctly on a >= and creating temp table when not needed 47269 Optimizer limits "OR"-connected predicates to 30 47261 Period as decimal separator returns wrong error code on European Windows operating systems OLEDB ************** 49351 Provider is not saving umlauts correctly with oem-ansi conversion turned on 47648 Pessimistic lock is not working correctly. 47646 Slow OLEDB connection performance in delphi. 47359 Connection object is returning an error 265929. 47535 A select that includes a "where" clause on a nonexistent object corrupts the corresponding connection. 47297 OLE DB status code changed between Pervasive.SQL 2000 and V8. 45798 OLEDB: unable to pass a longvarchar as a parameter to SP. 44967 Multiple calls to an OLEDB connection from C# causes exception. 45033 Union and Distinct should return Recordcount = -1 43938 Unable to use refresh and adCmdTypeParam with an SP and resulting recordset 44147 Inserting a record into empty table with a longvarchar returns error 44327 Data Corruption when using recordset property CacheSize > 0 44399 Parameters with columns that are longvarbinary cannot update using ClientSide cursor. 44506 OLEDB GPFs while trying to access a column property when the recordset is closed. 44476 30-50% performance difference between oledb and odbc on FORO cursors 47897 Error R6025 virtual function call error. 49108 Trailing spaces are trimmed from CHAR