================================ SOLID POINT RELEASE RELEASE NOTES ================================ PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1052 BUGS FIXED..: 5 (PMR 20040,140,702; PMR 08804,344,000; PMR 02797,140,702; PMR 51250,999,000; PMR 20228,060,678) ENHANCEMENTS: 0 PLATFORMS...: w32, l2x RELEASE DATE: December 16, 2008 FILES INCLUDED -------------- If the file names below contain "***", it represents a platform-specific 3 to 5 character sequence, e.g. hia64 = HP-UX 11 64-bit (IA64) l2x = Linux (x86, 32-bit), WindRiver Linux l2x64 = Linux (x86, AMD64/EM64T, 64-bit) w32 = MS-Windows NT/2000/XP w64 = MS-Windows XP/2003/Vista 64-bit s0x = Solaris 10.x s0x64 = Solaris 10.x 64-bit s0xi = Solaris 10.x (ix86) s0xi64 = Solaris 10.x 64-bit (ix86) Filename extensions vary. For example, the solidac file might be named solidac.dll solidac.so etc. Extensions for dynamic libraries: .dll, .so, .sl Extensions for static libraries: .lib, .a +-----------------------------+-------------------+------------------+ | Description | Windows | Unix (usually) | ++----------------------------+-------------------+------------------+ | Binaries +----------- Solid Server solid.exe solid Solid Data Dictionary List soldd.exe soldd Solid Export solexp.exe solexp Solid Loader solload.exe solload Solid SQL Editor solsql.exe solsql Solid Remote Control solcon.exe solcon | Static libraries +------------------- Solid Accelerator library solidac.lib solidac.a ODBC library (ANSI) solidimpodbca.lib solidodbca.a ODBC library (Unicode) solidimpodbcu.lib solidodbcu.a Solid SA library solidimpsa.lib solidsa.a | Dynamic libraries +-------------------- Solid Accelerator library ssolidac60.dll ssolidac60.so / .sl ODBC library (ANSI) sac***60.dll sac***60.so / .sl ODBC library (Unicode) soc***60.dll soc***60.so / .sl Solid SA library ssa***60.dll ssa***60.so / .sl | Header files +--------------- SQL header file sqlext.h sqlext.h | JDBC driver package +---------------------- JDBC Driver Java package SolidDriver2.0.jar SolidDriver2.0.jar BUG FIXES --------- DESCRIPTION: JDBC mutexing problem. FIX ID: PMR 08804,344,000 RESOLUTION: Multiple threads competing for the same statement and connection could cause NULL pointer exception. Now JDBC mutexing has been fixed. DESCRIPTION: Estimator problem is causing incorrect number of rows being returned. FIX ID: PMR 20040,140,702 RESOLUTION: Optimization to detect if result set is a single row was incorrect. Now this is fixed. DESCRIPTION: Problems with SQLPutData(). FIX ID: 02797,140,702 (TPR 20149) RESOLUTION: Length of data was not updated properly inside SQLPutData_nomutex when SQL_DATA_AT_EXEC macro was used. Now this is fixed. DESCRIPTION: Full merge is not started properly. FIX ID: PMR 51250,999,000 RESOLUTION: Fixed a wrong merge writes update at the end of merge. If quick merge limit was always reached first it could prevent real merge from running. DESCRIPTION: Create/drop table may cause a secondary crash. FIX ID: PMR 20228,060,678 RESOLUTION: Fixed a problem in logging. Note for ODBC developers ------------------------ With version 6.0.1045 ODBC include files have been changed. From now on your ODBC application should only include solidodbc3.h instead of files sql.h, sqlext.h, sqltypes.h, sqlucode.h or sqlunix.h. Files sql.h, sqlext.h, sqltypes.h, sqlucode.h should be found from compiler's include path but not included directly by the application. File sqlunix.h is deprecated and not anymore included in the package. Note for Linux (x86, 32-bit) users ---------------------------------- With version 6.0.1045 the machine used for l2x build was updated to RedHat Enterprise Linux 4 with glibc 2.3.4 and GCC 3.4.6. You may need to update your own environment to the same level. ============================================================================= =============== PREVIOUS POINT RELEASES FOR THIS PRODUCT ==================== ============================================================================= Each point release is cumulative regardless of release platform (excluding platform specific problems). Below are the bug fixes, feature enhancements, and documentation corrections from previous point releases for solidDB 6.0. PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1051 BUGS FIXED..: 4 (PMR 05148,211,788; PMR 05180,211,788; PMR 20041,140,702; PMR 21706,999,706) ENHANCEMENTS: 0 PLATFORMS...: l2x RELEASE DATE: November 18, 2008 BUG FIXES --------- DESCRIPTION: Server returns incorrect character from upper and lower functions on special characters FIX ID: PMR 05148,211,788 RESOLUTION: select upper(char(0x00e9)) gives incorrect results. This is now fixed. DESCRIPTION: Problem with numeric presentation. FIX ID: PMR 05180,211,788 RESOLUTION: select cast('333,34' as numeric); shows result 333, instead of 333,34 as in the earlier versions. This is because the new numeric library does not accept comma as decimal separator. Now the library accepts comma for compatibility reasons. DESCRIPTION: soldd lists identical constraint names for system created constraints. FIX ID: PMR 20041,140,702 RESOLUTION: Now this has been fixed. DESCRIPTION: String right truncation error in solid ODBC driver. FIX ID: PMR 21706,999,706 RESOLUTION: String right truncation error in Solid ODBC driver makes SQLParamData to return SQL_SUCCESS_WITH_INFO and that return code is not properly handled in PDOStatement::execute(). This may cause "Fatal error: Possible integer overflow in memory allocation (4294943532 * 148 + 0) in /path/to/file.php on line 123" in PDOStatement::execute(). The bug that lead to parameter string truncation is now fixed in Solid ODBC driver. This should prevent the fatal error in PHP. ---------------------------------- PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1050 BUGS FIXED..: 2 (PMR 20036,140,702; PMR 23858,077,724) ENHANCEMENTS: 0 PLATFORMS...: l2x, l2x64, w32, jdbc RELEASE DATE: October 22, 2008 DESCRIPTION: Server crash when referencing rownum on power function in 06.00be. FIX ID: PMR 20036,140,702 RESOLUTION: A bug in SQL interpreter is fixed. DESCRIPTION: Crash in SQL interpreter with solid version 6.0.1049. FIX ID: PMR 23858,077,724 RESOLUTION: A bug in SQL interpreter is fixed. ---------------------------------- PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1049 BUGS FIXED..: 4 (TPR# 750151, 1020081, 1180001, PMR 69249,211,788) ENHANCEMENTS: 0 PLATFORMS...: l2x, l2x64, w32, jdbc; w64 RELEASE DATE: September 2, 2008; w64 on Oct 6, 2008. BUG FIXES --------- SHORT DESCRIPTION: Replication and Hotstandby problem: Transparent failover doesn't work with remote procedures. TPR#: 750151 LONG DESCRIPTION: From the connect strings list the replica server always takse the first one and tries to connect to it. All the other connect strings are ignored. Now this is fixed. All connect strings are checked if necessary. SHORT DESCRIPTION: secondary duplicate assertions. TPR#: 1020081 LONG DESCRIPTION: The problem was related to parallel processing of merge task and regular HotStandby operations. In exceptional circumstances the merge task was unexpectedly able to remove some data before HotStandby operations had accessed that particular data. This problem is fixed now. SHORT DESCRIPTION: Optimizer problem. TPR#: 1180001 LONG DESCRIPTION: When parameter SQL.EstSampleMaxEqualRowEstimate was set a wrong number of rows was sometimes estimated causing the SQL optimizer to choose a bad execution plan. Note that parameter SQL.EstSampleMaxEqualRowEstimate is set by default in versions 6.0 and 6.1 but not in version 4.5. SHORT DESCRIPTION: Wrong result in SQL arithmetics. PMR#: 69249,211,788 LONG DESCRIPTION: Bugs in SQL arithmetics routines have been fixed. ---------------------------------- PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1048 BUGS FIXED..: 1 (PMR 24525,999,000) ENHANCEMENTS: 0 PLATFORMS...: jdbc RELEASE DATE: August 15, 2008 BUG FIXES --------- SHORT DESCRIPTION: JDBC driver incorrectly reports "Duplicated cursor name" error. PMR#: 24525,999,000 LONG DESCRIPTION: The driver-side statement cache did not always check the cursor names properly. Now this is fixed. ---------------------------------- PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1047 BUGS FIXED..: 1 (#870305) ENHANCEMENTS: 0 PLATFORMS...: jdbc RELEASE DATE: July 14, 2008 BUG FIXES --------- SHORT DESCRIPTION: TF connection does not return any exception if NIC is down. TPR #: 870305 LONG DESCRIPTION: Two other related issues have been fixed: - Connection thread (used to implement timed login) was not interruped after timeout. - Connection pooling callbacks did not work properly after connection failover. ---------------------------------- PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1046 BUGS FIXED..: 8 (#20607, 51074, 870305, 904282, 904291, 904426, 1020094, 1050026) ENHANCEMENTS: 0 PLATFORMS...: l2x, l2x64, w32, s8x, s9x, s9x64, s0x, s0x64, s0xi, s0xi64, h1x, h1x64, hia64, jdbc RELEASE DATE: July 2, 2008 BUG FIXES --------- SHORT DESCRIPTION: Security vulnerabilities in Solid DB. TPR #: 20607, 904291 LONG DESCRIPTION: The following issues have been fixed: The first issue was caused by a format string error in the logging function when processing user-supplied data, which could be exploited to crash an affected application or execute arbitrary code. The second vulnerability was caused by an invalid memory access when processing data supplied by a client, which could be exploited to crash an affected application, creating a denial of service condition. The third vulnerability was caused by a NULL pointer dereference error when processing malformed packets, which could be exploited by attackers to crash an affected application, creating a denial of service condition. The fourth issue was caused by an input validation error when processing malformed packets, which could be exploited by attackers to crash an affected application, creating a denial of service condition. SHORT DESCRIPTION: Handling of special characters in stored procedure. TPR #: 51074 LONG DESCRIPTION: Non-ascii characters in the stored procedures have to be encoded with UTF-8, as SQL parser does expect them to be UTF-8 encoded. Now they are encoded corretctly. SHORT DESCRIPTION: TF connection does not return any exception if NIC is down. TPR #: 870305 LONG DESCRIPTION: New feature (solid_login_timeout_ms property) is available to control the login timeout. SHORT DESCRIPTION: Solid may assert during shutdown with Status: 2649@tab0conn.c Code: 10019 (DBE_ERR_BACKUPACT). TPR #: 904282 LONG DESCRIPTION: Active backup must be aborted before continuing the shutdown. Now this is fixed. SHORT DESCRIPTION: HSB connect may fail even after a netcopy. HSB primary to secondary connection lost if setting PingTimeout/PingInterval parameters. TPR #: 904426, 1050026 LONG DESCRIPTION: Maximum value of PingTimeout or PingInterval parameter is 60000. Using larger values may cause connection problems as nodes cannot use those values. Now invalid values are rejected and a warning is printed to solmsg.out SHORT DESCRIPTION: Service changes to status "starting" without apparent reason. TPR #: 1020094 LONG DESCRIPTION: Now service status works correctly. Executing create and drop table inside the same transaction caused this problem in HSB secondary. ---------------------------------- PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1045 BUGS FIXED..: 0 ENHANCEMENTS: 0 PLATFORMS...: l2x, l2x64, w32, w64, h1x, h1x64, hia64, s0x, s0x64, s0xi, : s0xi64, s9x64, s8x64, a5x64, jdbc RELEASE DATE: May 15, 2008 Note for ODBC developers ------------------------ With version 6.0.1045 ODBC include files have been changed. From now on your ODBC application should only link solidodbc3.h instead of files sql.h, sqlext.h, sqltypes.h, sqlucode.h or sqlunix.h. Files sql.h, sqlext.h, sqltypes.h, sqlucode.h should be found from compiler's include path but not linked directly by the application. File sqlunix.h is deprecated and not anymore included in the package. Note for Linux (x86, 32-bit) users ---------------------------------- With version 6.0.1045 the machine used for l2x build was updated to RedHat Enterprise Linux 4 with glibc 2.3.4 and GCC 3.4.6. You may need to update your own environment to the same level. ---------------------------------- PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1044 BUGS FIXED..: 3 (#51100, 904266, 1050029) ENHANCEMENTS: 0 PLATFORMS...: l2x64, w32, jdbc RELEASE DATE: May 5, 2008 BUG FIXES --------- SHORT DESCRIPTION: Windows service installation Problem. TPR #: 51100 LONG DESCRIPTION: Starting solid as a Windows service with a "net start " command reported failure even though server started properly. The cause of the problem is that Windows service manager waits for SERVICE_RUNNING signal from the started service application. Now solid reports status change to service manager also after roll-forward recovery when database has been started. SHORT DESCRIPTION: Problem with SQL_ATTR_LOGIN_TIMEOUT connection attribute and the SQLDriverConnect function. TPR #: 904266 LONG DESCRIPTION: SQLDriverConnect now uses logintimeout as milliseconds and not seconds. SHORT DESCRIPTION: JDBC connection using tf_level 2 does not close connection to secondary when closing connection to primary. TPR #: 1050024 LONG DESCRIPTION: The secondary connect sequence was incorrect. Now this is fixed. ---------------------------------- PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1043 BUGS FIXED..: 2 (#50815) ENHANCEMENTS: 0 PLATFORMS...: l2x, l2x64, hia64, w32, lpx, jdbc RELEASE DATE: March 31, 2008 BUG FIXES --------- SHORT DESCRIPTION: HP-UX memory usage. TPR #: LONG DESCRIPTION: In HP-UX a performance problem was detected when mmap() is called very frequently. To overcome this malloc() now mmap() as the native method to alloctae memory from the operating system. SHORT DESCRIPTION: ODBC Cursor behaviour with Solid 6.0. TPR #: 50815 LONG DESCRIPTION: Fix to incorrect cursor behavior with autocommit. If rowspermessage happens to be set larger than 1, autocommit may trigger cursor position sync, which can cause cursor incorrectly jump to the beginning of the result set in some backwards scanning searches. ---------------------------------- PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1041 BUGS FIXED..: 1 ENHANCEMENTS: 0 PLATFORMS...: hia64 RELEASE DATE: March 12, 2008 SHORT DESCRIPTION: MME memory usage. TPR #: LONG DESCRIPTION: MME now frees up as much memory as possible from an index root object when that index is dropped or a table is truncated. This should reduce the amount of memory that is tied down by connections still possessing a link to that index/table. This memory will be available when the client executing the drop/truncate disconnects. ---------------------------------- PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1040 BUGS FIXED..: 6 (#20440, 20442, 50738, 50863, 904218, 904237) ENHANCEMENTS: 0 PLATFORMS...: w32, l2x, l2x64, jdbc RELEASE DATE: March 3, 2008 BUG FIXES --------- SHORT DESCRIPTION: JDBC pooled connections do not always recognize hsb roleswitch. TPR #: 20440, 20442 LONG DESCRIPTION: Now TF connections obey normal rules of Connection Pooling because they are capable of recovering after failover. When a new connection is creaded from PooledConnection it inherits TF and TC levels of the running one. SHORT DESCRIPTION: Performance problem with bad optimizer decision. TPR #: 50738 LONG DESCRIPTION: SQL optimizer is improved to avoid this problem. SHORT DESCRIPTION: Duplicate column names in a table. TPR #: 50863 LONG DESCRIPTION: It was possible to create columns with a same name using ALTER TABLE inside one transaction: create table test_dup_columns (id integer, col_name char(10)); commit work; alter table test_dup_columns add column col_name2 char(10); alter table test_dup_columns add column col_name2 char(10); commit work; Now this is prevented. SHORT DESCRIPTION: HSB connect fails with error 14525. TPR #: 904218 LONG DESCRIPTION: It was possible that the log memory cache was cleaned too soon. This caused a failure during catchup. Now this is fixed. SHORT DESCRIPTION: JDBC error. TPR #: 904237 LONG DESCRIPTION: SolidResultSet object lost the binding to the statement at the moment of close() and did not re-establish it on during reopen() and reset(). ---------------------------------- PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1038 BUGS FIXED..: 6 (#20437, 50224, 50316, 50760, 903694, 904177) ENHANCEMENTS: 1 (#20401) PLATFORMS...: w64 RELEASE DATE: February 15, 2008 BUG FIXES --------- SHORT DESCRIPTION: Master and replica name may begin (again) with a digit. TPR #: 20437 LONG DESCRIPTION: Change related to TPR 870223 (4.5.0131) was reverted, where creation of SYNC NODE names (master or replica) that start with a digit was prevented. Now master and replica names can start with a digit. If this type of naming is used, the master/replica name needs to be enclosed with double quotes when used f.ex. within stored procedures and triggers. An example of a stored procedure and/or trigger code using this approach: EXEC SQL EXECDIRECT START AFTER COMMIT UNIQUE CALL refresh_from_publication1 AT "10replica"; SHORT DESCRIPTION: A mechanism to store soltrace.out and solmsg.out files when the defined maximum size of these files is reached. TPR #: 50224, 50316 LONG DESCRIPTION: Added a new configuration parameter [Srv]KeepAllOutFiles = yes/no (default = no) When this parameter is set to yes whenever *.out file exceeds its size limit, instead of creating a *.bak file, a numbered copy (eg. solmsg000000.bak, solmsg000001.bak, ...) is created. SHORT DESCRIPTION: Unicode related problems. TPR #: 50760 LONG DESCRIPTION: A bug in character conversions is fixed. ODBC-side datatype conversions with 0-lenght buffer did cause SQL_ERROR instead of reporting the buffer length. SHORT DESCRIPTION: Admin command 'par general' does not list the new merge parameters TPR #: 903604 LONG DESCRIPTION: Now admin command 'par general' also lists the new merge parameters: MaxMergeParts MaxMergeTasks SHORT DESCRIPTION: Solid core dump at the end of MME checkpoint. TPR #: 904177 LONG DESCRIPTION: There was a thread-safety bug in MME checkpointing where in MME flush batch object was released too early by the checkpoint task. This caused core dump in iomgr_thread when it tried to access released memory. Now MME flush batch object is properly protected by mutex and link counter. PRODUCT ENHANCEMENTS -------------------- SHORT DESCRIPTION: Dynamic increase of cache size. TPR #: 20401 LONG DESCRIPTION: Cache size can now be grown at runtime. The parameter IndexFile.CacheSize can now be changed at runtime to grow the cache size, e.g.: admin command 'parameter IndexFile.CacheSize=40mb' Cache size cannot be decreased at runtime. Growing the cache size can cause hashtable collisions to occur so the parameter IndexFile.ReferenceCacheSizeForHash can be used to optimize the cache hashtable for a certain cache size (or smaller), for example when the user knows what will be the maximum cache size during server lifecycle. This parameter is static and has to be set before server startup. Default value for ReferenceCacheSizeForHash is 0 which means that the value will be same as CacheSize's at startup. If the value is less than CacheSize then 0 will be used instead (with the same effects). For example: [IndexFile] CacheSize = 40mb ReferenceCacheSizeForHash = 400mb ---------------------------------- PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1034 BUGS FIXED..: 9 (#20419, 50766, 710289, 880156, 880173, 904091, 904119, 1020085, 1020090) ENHANCEMENTS: 3 (#20426, 20430, 904158) PLATFORMS...: RELEASE DATE: BUG FIXES --------- SHORT DESCRIPTION: Query returns first an empty result set, and when re-executed, finds data. TPR #: 20419 LONG DESCRIPTION: A bug in cursor reset is fixed. Now the correct search result is returned. SHORT DESCRIPTION: Decimal fractions of seconds of timestamps are lost during solid export/import. TPR #: 50766 LONG DESCRIPTION: Truncation problem in solexp is fixed. Now timestamps are not truncated during export. SHORT DESCRIPTION: Unsynchronised DBs can be connected after primary has been standalone. TPR #: 710289 LONG DESCRIPTION: Now standalone mode follows the documentation: "To resume HSB operation, the server must be set to either PRIMARY ALONE or SECONDARY ALONE, and the Primary will have to do a netcopy or copy operation to send a complete copy of the database to the Secondary". SHORT DESCRIPTION: Out of central memory when using in-memory tables. TPR #: 880156 LONG DESCRIPTION: Memory cache for logrecords was not cleaned properly. Now nodes signal durable_ack to other nodes and this cleans memory cache. If logging is disabled this signaling happens on LOGREC_CHECKPOINT_NEW. When running HSB with no-logging checkpoints should be done frequently in both nodes to keep ceche for logrecords small enough. SHORT DESCRIPTION: Coredump in SQLAllocEnv. TPR #: 880173 LONG DESCRIPTION: When SQLAllocEnv is called for the first time it goes to a routine that checks a static boolean flag to detect if initialization is already done. In this case first thread sees the flag as FALSE, sets it to TRUE and starts to go through initialization sequence. Later another thread sees the flag as TRUE and continues normally. If the first thread has not completed the initialization, the second thread will enter functions that have not been initialized properly and cause the crash and coredump. The problem is solved using global flags and busy waiting, it avoids the conflict. SHORT DESCRIPTION: Solid emergency shutdown. TPR #: 904091 LONG DESCRIPTION: The shutdown problem occurs when an event object with a FLOAT parameter is passed a VARCHAR value. Now a parameter data type conversion is done when needed. SHORT DESCRIPTION: Issue with restriction on bit_and operation. TPR #: 904119 LONG DESCRIPTION: Now the BIT_AND, BIT_OR, BIT_XOR and BIT_NOT work also for BIGINT data. SHORT DESCRIPTION: Rollback behaviour in stored procedures differs depending on error type. TPR #: 1020085 LONG DESCRIPTION: The rollback behaviour in stored procedures is changed for prepare and other syntax errors when WHENEVER SQLERROR ROLLBACK, ABORT is used. Now all SQL errors obey WHENEVER clause. If user generates error using RETURN SQLERROR then user must control rollback behaviour. Behaviour with RETURN SQLERROR is not changed. SHORT DESCRIPTION: Dropping a constraint three times in one transaction crashes the database. TPR #: 1020090 LONG DESCRIPTION: A bug in data dictionary operations is fixed. PRODUCT ENHANCEMENTS -------------------- SHORT DESCRIPTION: SmartFlow performance optimization. TPR #: 20426 LONG DESCRIPTION: Extra sql prepares were done for empty tables in refresh operation. Now DELETE and INSERT statements are prepared in replica only if master sends rows to insert or delete. SHORT DESCRIPTION: Document the use of SYS_SYNC_KEEPLOCALCHANGES. TPR #: 20430 LONG DESCRIPTION: Setting this parameter to "Yes" reduces processing load and storage requirements at Replica. Also, the ALTER TABLE SET SYNCHISTORY statement is not required for replica tables when this parameter is set to "Yes", and thus history table creation can be omitted in the replica. With this setting, all the local changes and row inserts (if made) are kept despite the refresh/subscribe operation. Therefore, the use of this parameter should normally be limited to read-only replicas. In cases where the Replica is a read-write database, and the application guarantees that all local replica writes are propagated succesfully to Master, this parameter can be set to "Yes" as well. Factory value: No Duration: Valid until changed R/W: R/W SHORT DESCRIPTION: Certification request to certify jdbc driver and java acc against java 1.6. TPR #: 904158 LONG DESCRIPTION: This appears to be a Java 1.6 bug, which has been reported to Sun (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6493522). There are workarounds available for instance the one suggested at: http://forum.java.sun.com/thread.jspa?threadID=5117849 This has been reproduced on a 32-bit Linux. The fix has been done according to the workaround described above. ---------------------------------- PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1033 BUGS FIXED..: 3 (#20375, 50710, 1050004) ENHANCEMENTS: PLATFORMS...: w32, l2x, l2x64, jdbc RELEASE DATE: December 3, 2007 BUG FIXES --------- SHORT DESCRIPTION: Solid using high amount CPU. TPR #: 20375 LONG DESCRIPTION: Now merge process is not started unless MinMergeTime has elapsed since the previous merge. Note that default MinMergeTime is still 0 so it must be separately set in solid.ini. With this change MinMergeTime can be used to prevent merge busy loop. SHORT DESCRIPTION: Solid JDBC driver issue with TF1 connections. TPR #: 50710 LONG DESCRIPTION: JDBC driver internal statements have to closed with DROP in order to be finalized on the server side. SHORT DESCRIPTION: Solid primary server core dumping. TPR #: 1050004 LONG DESCRIPTION: The problem was found in blob code error handling. In primary_uncertain state logging returns error and blob code did not handle this correctly. Now this is fixed. ---------------------------------- PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1032 BUGS FIXED..: 4 (#20399, 710289, 1020087, 1100018) ENHANCEMENTS: PLATFORMS...: w32, l2x, l2x64, jdbc RELEASE DATE: November 28, 2007 BUG FIXES --------- SHORT DESCRIPTION: MME blobs limited to 8k. TPR #: 20399 LONG DESCRIPTION: Indexfile page size now is communicated to the JDBC driver via property and the MME blob maximum size is derived from the page size. SHORT DESCRIPTION: Unsynchronised DBs can be connected after primary has been standalone. TPR #: 710289 LONG DESCRIPTION: Now standalone mode follows the documentation: "To resume HSB operation, the server must be set to either PRIMARY ALONE or SECONDARY ALONE, and the Primary will have to do a netcopy or copy operation to send a complete copy of the database to the Secondary". SHORT DESCRIPTION: Scheduled backup starting too early after clock change. TPR #: 1020087 LONG DESCRIPTION: Scheduled commands started 1 hour too early/late after DST change. Now the next at command execution time is adjusted if DST status is going to change. SHORT DESCRIPTION: Setting Srv.At parameter with admin command does not override old value. TPR #: 1100018 LONG DESCRIPTION: Now the old value is discarded. ---------------------------------- PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1030 BUGS FIXED..: 2 (#20412, 20420) ENHANCEMENTS: 1 (#870248) PLATFORMS...: w32, l2x, jdbc RELEASE DATE: November 16, 2007 BUG FIXES --------- SHORT DESCRIPTION: JDBC driver returns wrong error codes with v6.0 TC connections. TPR #: 20412 LONG DESCRIPTION: Now the handling for the native error code is added to TC driver. The error is returned to the application as a connection switch error. SHORT DESCRIPTION: SOLAPPINFO not settable programmatically. TPR #: 20420 LONG DESCRIPTION: Now environment variables are checked with getenv function also in w32 version. PRODUCT ENHANCEMENTS -------------------- SHORT DESCRIPTION: Solid DB HA solution. TPR #: 870248 LONG DESCRIPTION: Changes are: 1. SolidConnectionPoolDataSource has been extended and now allows to set Connection properties with setConnectionInfo(props) method. Connection properties have the same semantics as for SolidConnection. tf_level and preferred_access could be specified like in the first example. 2. Connection URL parser has been extended to interpret '?' separated properties like in the second example. In order to use SolidConnectionPoolDataSource with TF/TC connections one has these possibilities: Example #1. solid.jdbc.SolidConnectionPoolDataSource scpds = new solid.jdbc.SolidConnectionPoolDataSource( "jdbc:solid://localhost:1323,localhost:1423/dba/dba"); Properties props = new Properties(); props.put("soliddir", soliddir); props.put("solid_tf_level", "2"); props.put("solid_preferred_access", "READ_MOSTLY"); scpds.setConnectionInfo(props); javax.sql.PooledConnection pdbc = scpds.getPooledConnection("dba","dba"); Example #2. solid.jdbc.SolidConnectionPoolDataSource scpds = new solid.jdbc.SolidConnectionPoolDataSource( "jdbc:solid://localhost:1323,localhost:1423/dba/dba?solid_tf_level=2?solid_preferred_access=READ_MOSTLY" ); javax.sql.PooledConnection pdbc = scpds.getPooledConnection("dba","dba"); ---------------------------------- PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1029 BUGS FIXED..: 2 (#904085, 1050006) ENHANCEMENTS: PLATFORMS...: s9x64, l2x64 RELEASE DATE: November 14, 2007 BUG FIXES --------- SHORT DESCRIPTION: Issue with PreparedStatement.setBinaryStream(). TPR #: 904085 LONG DESCRIPTION: Fix to a bug in which blob references from JDBC batch inserts/updates were assigned into wrong rows due to an array indexing problem on the server. SHORT DESCRIPTION: Excessive memory consumption on the HSB secondary node. TPR #: 1050006 LONG DESCRIPTION: The cause of the problem was that primary and secondary nodes did not count logrecords in same way. This is why spacemanager free space in getspace and addspace was calculated incorrectly. This is now fixed. ---------------------------------- PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1028 BUGS FIXED..: 2 (#903604, 904069) ENHANCEMENTS: 6 (#20320, 20344, 20372, 20376, 904060, 1100004) PLATFORMS...: s9x64, l2x64 RELEASE DATE: October 11, 2007 BUG FIXES --------- SHORT DESCRIPTION: Admin command 'par general' does not list the new merge parameters TPR #: 903604 LONG DESCRIPTION: Now admin command 'par general' also lists the new merge parameters: MaxMergeParts MaxMergeTasks UserMerge SHORT DESCRIPTION: HotStandby:SOLID Database Return Code 1001. TPR #: 904069 LONG DESCRIPTION: Now hsb connect command does not return until first logrecord is read from logfile or from memory. Also if first the logrecord is NOP, hsb connect command returns error code 14525 "HotStandby databases are not properly synchronized". PRODUCT ENHANCEMENTS -------------------- SHORT DESCRIPTION: New Solid admin command 'tid' TPR #: 20320 LONG DESCRIPTION: Added a new admin command 'tid', which returns thread id of the thread that is serving current user. If thread/client communication is used then this ID can be used to adjust replication priorities as message is executed in the same thread. E.g. replica user can first ask thread ID, adjust priority for it and then start replication task. SHORT DESCRIPTION: Determine the maximum database size. TPR #: 20344 LONG DESCRIPTION: Added a new row to admin command 'info' output. Admin command 'info dbconfigsize' returns the maximum configured database size as megabytes. SHORT DESCRIPTION: MME update performance with non-indexed search criteria. TPR #: 20372 LONG DESCRIPTION: SHORT DESCRIPTION: Wrong results for COUNT(*). TPR #: 20376 LONG DESCRIPTION: Searches using aggregates may return wrong results if the columns belonging to an index being scanned for the aggregate calculation are being concurrently updated by other transactions and the isolation level is READ COMMITTED. A new parameter SQL.RaiseAggregateIsolation = Yes/No is used to raise transaction isolation to at least REPEATABLE READ if aggregate functions are used. Default is no. SHORT DESCRIPTION: New server-side configuration option SQL.ExecuteNodataODBC3Behavior. TPR #: 904060 LONG DESCRIPTION: A new server-side configuration option SQL.ExecuteNodataODBC3Behavior can be used to control the behavior of SQLExecDirect, SQLExecute or SQLParamData functions that are used to execute a searched update or delete statement that does not affect any rows at the data source. The ODBC 3.x driver should return SQL_NO_DATA, but ODBC 2.x expects the driver to return SQL_SUCCESS. Setting this parameter to YES turns on ODBC 3.x behaviour. Default is NO (ODBC 2.x behaviour). This parameter was first introduced in 6.0.1027 in Client section but was moved to SQL section and is now a server-side parameter. Thus you no longer can use Client.ExecuteNodataODBC3Behavior. SHORT DESCRIPTION: JDBC calls do not return result when Unicode strings are used in dynamic statements Ansi databases TPR #: 1100004 LONG DESCRIPTION: New method setDriverAscii is implemented. Also character translation has been fixed to work in the same way as in version 04.50be. ---------------------------------- PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1027 BUGS FIXED..: 8 (#20396, 50598, 50634, 870223, 904020, 1020079, 1020082, : 1050002) ENHANCEMENTS: 2 (#903966, 904060) PLATFORMS...: w32, l2x, l2x64, s0x, s0x64, s0xi, s0xi64, h1x, h1x64, hia64, : jdbc RELEASE DATE: September 28, 2007; s0xi, s0xi64 on October 9, 2007 BUG FIXES --------- SHORT DESCRIPTION: JDBC printout: "defaultProp: isCatalogSupp_=true useCharPadding=false" is displayed. TPR #: 20396 LONG DESCRIPTION: System.out.println was called inside defaultProp method. This is now fixed. SHORT DESCRIPTION: Problem with solexp. TPR #: 50598 LONG DESCRIPTION: Due to a bug in unique constraint creation in 4.2 SYS_KEYPARTS.ASCENDING may contain wrong values. Now the incorrect values are fixed and restored ASCENDING='YES' for all unique constraint keyparts. SHORT DESCRIPTION: The memory use of the HSB secondary grows unlimited. TPR #: 50634 LONG DESCRIPTION: A memory underwrite bug was fixed. SHORT DESCRIPTION: Master name may begin with a digit. TPR #: 870223 LONG DESCRIPTION: Now creation of SYNC NODE names (neither master or replica) that start with a digit is prevented. SHORT DESCRIPTION: Problem with soldd. TPR #: 904020 LONG DESCRIPTION: soldd output is for long CHECK constraints is truncated, only part of the string is printed. The buffer size for a check constraint column was only 256. Now the size is about 32k. SHORT DESCRIPTION: solidDB HSB Secondary started as a Windows Service showed wrong service status after a drop/create index operation was executed. TPR #: 1020079 LONG DESCRIPTION: When the two database instances of a HSB system are started as Windows Services, the Secondary's service status changed to "Starting" when a create index or a drop index operation was executed. This is now fixed and the service status remains as "Started". SHORT DESCRIPTION: Statement causes "out of central memory" crash. TPR #: 1020082 LONG DESCRIPTION: A bug in the SQL optimizer is fixed. Now the optimizer detects certain complex queries and avoids the heavy use of memory during the optimization. SHORT DESCRIPTION: Pseudo column 'rownum' does not work in 6.0. TPR #: 1050002 LONG DESCRIPTION: A bug in the SQL optimizer is fixed. PRODUCT ENHANCEMENTS -------------------- SHORT DESCRIPTION: I/O performance TPR #: 903966 LONG DESCRIPTION: SQL interpreter performance enchancement. SHORT DESCRIPTION: SQLExecute on a delete or a update statement returns SQL_SUCCESS instead of SQL_NO_DATA if no rows are affected. TPR #: 904060 LONG DESCRIPTION: New client-side solid.ini parameter Client.ExecuteNodataODBC3Behavior (Yes/no) can be used to control the behaviour. ---------------------------------- PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1026 BUGS FIXED..: 3 (#20357, 903964, 904013) ENHANCEMENTS: PLATFORMS...: l2x, s9x, s9x64, h1x64, hia64, a5x64 RELEASE DATE: September 17, 2007 BUG FIXES --------- SHORT DESCRIPTION: SmartFlow upgrade from version 3.7 to 4.5 may fail. TPR #: 20357 LONG DESCRIPTION: SmartFlow nodes cannot be upgraded in phases, so that master could be upgraded first to 4.x, while some of the replicas are still v3.7. Master gives error message: "ERROR:Replica is not compatible with this master." if a v3.7 replica tries to replicate with a v4.x (upgraded/converted) master. Now master node checks replica node's message version and uses replica's message version when it replies back to replica. SHORT DESCRIPTION: Memory leak in solid. TPR #: 903964 LONG DESCRIPTION: Fixed a memory leak in transaction cardinality update. The leak would occur in certain situations when there were frequent data dictionary operations. SHORT DESCRIPTION: Unexpected memory consumption. TPR #: 904013 LONG DESCRIPTION: Memory allocation is slightly changed to avoid this problem. ---------------------------------- PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1020 BUGS FIXED..: 1 (#903821) ENHANCEMENTS: PLATFORMS...: s0xi, s0xi64 RELEASE DATE: July 11, 2007 BUG FIXES --------- SHORT DESCRIPTION: Select statements using in-memory tables may return wrong number of rows. TPR #: 903821 LONG DESCRIPTION: The cause of the problem was a bug in ascending MME-indexing. All searches using ascending indices from may return a wrong result set. Now this is fixed. ---------------------------------- PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1018 BUGS FIXED..: 12 (#50450, 50493, 903756, 903859, 903864, 903870, 903874, 903905, 903906, 710293 1100006, 1100014) ENHANCEMENTS: PLATFORMS...: w32, l2x, l2x64, s0x, s0x64, s0xi, s0xi64, h1x RELEASE DATE: June 15, 2007 BUG FIXES --------- SHORT DESCRIPTION: HSB secondary node may end up in an unexpected state when started as a Windows service after netcopy. TPR #: 50450 LONG DESCRIPTION: The cause of the problem is that netcopy causes secondary node to re-initialize the server. This sets the service status to SERVICE_START_PENDING. Now the status is set to SERVICE_RUNNING after the re-initialization. SHORT DESCRIPTION: Database Error 10006: Concurrency conflict when dropping a DB catalog. TPR #: 50493 LONG DESCRIPTION: The cause of the concurrency conflict is fixed. State transition from secondary to standalone did not abort open transactions so these open transactions caused the conflict when catlog drop was executed. Now all open transactions are aborted. SHORT DESCRIPTION: Solid crash during migration of solid.db file from version 04.20be. TPR #: 903756 LONG DESCRIPTION: After the conversion server asserted during the first merge with the following assert: 1945@tab0blobg2.c. The reason was that due to a corruption in SYS_BLOBS table 4.2 server had accidentally removed blob pages containing SYNC_REGISTER_REPLICA procedure. Now the system procedures are recreated during the conversion. SHORT DESCRIPTION: Solid interpreter may crash during execution of a SQL query. TPR #: 903859 LONG DESCRIPTION: A bug inside SQL interpreter code was found and fixed. SHORT DESCRIPTION: Solid backup fails on Solaris v.04.50.0119. TPR #: 903864 LONG DESCRIPTION: fopen() fails on Solaris when file descriptors below 255 are exhausted. Now Solid does not use these for sockets descriptors that are returned by accept(). This should help to avoid this problem. You may need to adjust ulimit -n because of this as this means that the number of available descriptors for connections is limit - 255. This applies only to the server, clients don't need to adjust ulimit -n. SHORT DESCRIPTION: SQLFetch may return error: State [08S01] Error [Communication link failure] TPR #: 903870 LONG DESCRIPTION: All blob data structures were not cleaned between consecutive SQLFetch calls. Now this is fixed. SHORT DESCRIPTION: soldd doesn't export complete event definitions. TPR #: 903874 LONG DESCRIPTION: soldd called SQLGetData only once per each row so if EVENT_TEXT column is longer than 255 it doesn't retrieve rest of the data. Now SQLGetData is called until all data for EVENT_TEXT column has been retrieved. SHORT DESCRIPTION: Select may crash server. TPR #: 903905, 903906 LONG DESCRIPTION: Select statements having an aliased subquery such as SELECT (SELECT 1) AS X FROM SYS_TABLES GROUP BY X may crash Solid. Now SQL interpreter handles such queries correctly. SHORT DESCRIPTION: Error 25216 may be returned after transaction rollback. TPR #: 710293 LONG DESCRIPTION: A bug was found in re-preparing of closed statements. This is now fixed. SHORT DESCRIPTION: Memory consumption of a statement execution may cause a server crash. TPR #: 1100006 LONG DESCRIPTION: Now value of SortArraySize parameter is dynamically adjusted if the result set contains a lot of columns (>100). This leads to a smaller memory consumption in handling of merge joins that require sorting. SHORT DESCRIPTION: JDBC URL with turkish encoding containing 'i'-character does not work. TPR #: 1100014 LONG DESCRIPTION: Now jdbcUrl.toUpperCase(Locale.ENGLISH) is called instead of String.toUpper() ---------------------------------- PRODUCT.....: solidDB 6.0 VERSION.....: 06.00.1015 BUGS FIXED..: 1 (#903814) ENHANCEMENTS: PLATFORMS...: s9x64 RELEASE DATE: May 31, 2007 BUG FIXES --------- SHORT DESCRIPTION: Foreign key violations when using in-memory tables. TPR #: 903814 LONG DESCRIPTION: Now foreign key checks are performed correctly depending on the operation type (insert, update or delete) and foreign key action. ============================================================================= SOLID POINT RELEASE SUMMARY This file contains cumulative summary of detailed changes made since the 6.0 GA release, by point releases. =============================================================================