FairCom DB V12 Release Notes

 
FairCom DB V12 Release Notes
Critical Fixes
Automatic recovery and duplicate file IDs
Improved recovery handling of system file copy followed by deleting the file
Automatic recovery failure with code L64 or error 1120 with unusual index conditions
Rare automatic recovery failure fixed
Turning background flush for TRNLOG files off and on may cause memory overwrite
c-tree Server no longer terminates with unhandled exception when DISK_FULL_ACTION causes shutdown
Rare missing index keys after Create or Rebuild fixed
Enhanced Detection and Reporting of Filesystem Flush Errors to Protect Data Integrity
SQL - Rare server crash after network error fixed
Improved Detection of Logically Equivalent Filenames during Automatic Recovery
Fixed rare server crash following errors during index node split
Fixed crash and recovery errors due to transaction logs exceeding 2GB
Fixed server crash from corrupted Resource Definition Map
Server no longer crashes if ctSysQueueClose() is called while queue in use
Memory corruption during multi-member index file open fixed
SQL crash after PANIC with unusual query
SQL columns defined as money(17) or money(18) no longer silently overflow
Unusual SQL query no longer causes panic and server crash
Notable Compatibility Changes
FairCom Server file permission inheritance changes
Delete Node Reuse List Default Behavior Change
c-treeDB - ctdbNextBatch() no longer returns last record twice when filters are in place
File compact no longer changes compression type to the database default
Fix to preserve encryption when compacting files
LOKREC() ctCHKLOK mode now returns lock information for lock acquired using co-file
SQL now considers string literal as VARCHAR during parsing
DSQL - Corrected bad behavior when getting data with wrong datatype function
DSQL - ctsqlSetParameter() properly handles strings without null terminator
Performance
Improved Large Transaction Performance
FairCom Server
Unhandled exception shutting down database engine using Server DLL
Fixed FairCom Server unhandled exception when using preimage swap file and log encryption
c-tree Server rare abnormal termination with Dynamic Dump !PROTECT option fixed
Rare unexpected shutdown with error 8757 fixed
Infinite loop when IICT updates index member more than once
Index Node Split Error
Fixed unexpected c-tree core activity while server is in Quiet state
Startup/Recovery no longer fails (error 66, RCHK_ERR) in rare circumstances involving large forward roll
Unlock failure while closing file no longer causes infinite loop
Fixed c-tree Server unhandled exception when using background flush
FairCom DB SQL Server
SQL - OVERLAY function now compliant with SQL:1999 standard, LPAD/RPAD do not overflow
Security
Ensure recoverability if server terminates while changing master encryption key
Fixed error reading transaction logs using advanced encryption
Data Integrity
Dynamic Dump and Backup/Restore
Dump restore immediately after dump backup may skip rolling files back to the dump start time
c-tree Server no longer logs immediate restore error message on Unix even when immediate restore is successful
Immediate restore - Fixed incorrect parsing of local directory name from script name command-line option
Dynamic Dump fixes
Automatic Recovery
Fixed automatic recovery error 12 if server terminated after PUTHDR() ctTIMEIDhdr
Automatic recovery - Improved handling of duplicate file IDs and transaction-dependent operations
Automatic recovery error L64, 1120 fixed
In case of L64 recovery failure, log a message to CTSTATUS.FCS and return an error rather than exiting the process
Automatic recovery failure with error 413 fixed
Automatic recovery may fail with error 8776 after delete and rename of superfile member
Improve Automatic Recovery detection of a mismatched file caused by copying a file outside the server
Improved Detection of Logically Equivalent Filenames during Automatic Recovery
Transaction Processing
Error 160 after switching an index's transaction mode fixed
Open of transaction-controlled mirrored file on Unix no longer fails with error 549
PREIMAGE_DUMP and ctDEFERBEG interaction no longer causing long dump delay
Rare KDUP_ERR resolved
Fixed transaction log read errors when using delayed durability and encrypted transaction logs
Delayed durability log flush no longer causes rare invalid transaction log entry
When a transaction deletes a key and adds it with a different offset then aborts, subsequent add of the key no longer fails with KDUP_ERR
Using c-tree library without transaction support to rebuild or compact a file no longer removes ctTRANMODE / ctPIMGMODE mode
TLOG_ERR after turning off transaction control for a file fixed
TransactionHistory() fixes
Relational FairCom DB SQL
SQL
SQL now considers string literal as VARCHAR during parsing
SQL - Failed update statement now returns correct error
SQL - Enforce record size checking
SQL - LIKE now returns correct result in Unicode server
SQL - LONG field handle validation
ctdbAlterTable in a CTSESSION_SQL session no longer removes synonyms and table granted permissions
SQL Stored Procedures
SQL Stored Procedures - Close cursors that were left open
Java Hibernate driver now correctly executes SQL statement with SKIP clause
Core Engine
Communications Layer
Improved shared memory performance on system with one CPU core
Slow connection or shared memory error fixed in specific situation
Client no longer loses connection to server after a failed CompactIFile() call when using TCP/IP protocol
Indexing
Rare index corruption following recovery fixed
Deferred index thread shutdown delay fixed
Deferred Index thread now retries in case of log read error
Index create or rebuild now requires much less time when using large SORT_MEMORY values
Table locks no longer prevent reuse of empty index nodes
File Management
Superfile member open no longer fails with POPN_ERR
ctdbGetRecordKeyPos no longer causes ctdbNextRecord unexpected behavior on partitioned files
Invalidate variable-length data file space management index in case of error
ctCopyFile function now opens files in exclusive mode to ensure a clean copy is made
CHECKLOCK_FILE configuration option now supports wildcard characters
File open optimization no longer causes errors opening or deleting files
More Batch Operations Improve Network Traversal Performance
Improve batch read resilience to errors caused by record updates
Logging, Error Reporting, and Messaging
Enabling function timing no longer reduces server throughput
Copyright Notice
Index