Release 0077 ============ Change 40310 on 2007/08/10 FIX:MySQL:Fix to debug assert. Change 40309 on 2007/08/10 FIX: MySQL: Fix autotest crash, datalen can be shorter than prefix length. Change 40301 on 2007/08/09 DOC: Two items removed from limitations, SOLIDDB_SYS_FORKEYPARTS was added, SOLIDDB_SYS_KEYPARTS_AUX was added, SOLIDDB_SYS_COLUMNS_AUX was added, instruction for setting key_buffer_size were made more rational. Change 40292 on 2007/08/09 ENH: MySQL: Map additional foreign key errors from solid to MySQL. Add test case. Change 40291 on 2007/08/09 ENH: MySQL: Add SYS_KEYPARTS_AUX to system tables in MySQL and map this table to SOLIDDB_SYS_KEYPARTS_AUX. Add new tables and fields to system table script. Change 40289 on 2007/08/09 FIX: MySQL: Auto increment field was not reseted on all cases. Change 40284 on 2007/08/08 FIX: MySQL: Fix problems with ::update_row() and crash on sql_base.cc. Remove unnecessary code. Change 40276 on 2007/08/08 ENH: MySQL: Upgrade to MySQL 5.0.45 community release. Change 40275 on 2007/08/08 ENH: MySQL: Upgrade to MySQL 5.0.46 enterprise release. Change 40271 on 2007/08/08 ENH: MySQL: Enable ::delete_all_rows to use truncate and add test case. FIX: DIRECTIO is available only if IO_OPT has been set. Change 40265 on 2007/08/07 FIX: MySQL: Fixed Bug #162: Error 1032 Can't find record returned on a insert after the engine type has been changed form innodb to solliddb. Change 40252 on 2007/08/06 ENH: MySQL: Refactor auto increment code. Change 40248 on 2007/08/04 FIX: fixed an infinite loop in ha_soliddb::reset_auto_increment() when a table without autoincrements got truncated. Change 40244 on 2007/08/03 FIX: MySQL: Fixed Bug #167: TRUNCATE TABLE does not initialize auto increment. Added support for ::reset_auto_increment(). Change 40235 on 2007/08/02 TST: MySQL: Bug #160 has been fixed add test cases to test suite. Change 40227 on 2007/08/01 FIX: MySQL: Fixed regression on Bug #158. For some reason can't use key_part->field->char_length() on blobs because it does not return prefix field length instead full field length. Change 40225 on 2007/08/01 FIX: MySQL: Fixed recression on Bug #7: Searches of ucs2 columns give wrong answers. Handler should not use collation routines for ucs2_bin. Additionally fixed incorrect prefix index code. Length in the key part is in bytes thus we should compare key_part->field->char_length() to field->char_length() to detect prefix indexes correctly. Added test case to see that new code really works. Fixed some of the .ok files. Change 40223 on 2007/08/01 TPR #903964:6.0:Fix to memory leak in relh linking with cardinal info changes. Sometimes at trx end the cardinal info was not released properly. Change 40207 on 2007/07/31 TST: MySQL: Add test case for MySQL fixed bug Bug #82. Change 40202 on 2007/07/30 FIX: MySQL: Fixed Bug #163: SET DEFAULT is allowed when create table with foreign keys. Change 40194 on 2007/07/26 FIX: SolidDB for MySQL: minor fix regarding unique key error message. Change 40191 on 2007/07/25 NEW: SolidDB for MySQL: Bug #54 prefix indexes support added. Change 40135 on 2007/07/16 FIX: bug #162. Key number of error key has been never returned correctly to MySQL. Now this is fixed. 'sc_errkey_num' member variable is removed from 'st_solid_connection' structure as redundant. A new function 'rs_relh_keyno' is added to rs0relh. The function gets key number for a key by a key id from the relation. An error in int ha_commit_one_phase(THD *thd, bool all) in handler.cpp is corrected when the wrong error message format string was used. Testcases for b162 added. Change 40033 on 2007/07/09 ENH: Fixed Bug #55:Multiple NULLs not allowed in unique key has been fixed. Change 39988 on 2007/07/05 FIX:solidDB for mysql: if connection in handler is not valid transaction should not be used (it is invalid also). Change 39940 on 2007/06/29 ENH: SolidDB for MySQL: prefix keypart data dictionary support Release 0074 ============ Change 39935 on 2007/06/29 ENH: MySQL: Bug #160: Unique prefix indexes produce incorrect results. Disable support for unique prefix indexes. Fix a small bug on normal prefix indexes, must test more key parts if test passes. Added a test case. Note that this test case does not produce correct results until support for prefix indexes is ready. Change 39934 on 2007/06/29 ENH: MySQL: Minor cleanup. Remove unnecessary function parameters. Change 39933 on 2007/06/29 FIX: MySQL/6.0: Fixes to Purify error reports. Change 39928 on 2007/06/28 FIX:MySQL/6.0:Fixes to Purify error reports. Change 39924 on 2007/06/28 FIX: MySQL: Length returned from atype is the character length thus we need to calculate maximum byte length on multi-byte characters. Put all this code under #ifndef SS_COLLATION_PREFIX_INDEXES. Add multi key prefix index test to test suite. Change 39916 on 2007/06/27 FIX: MySQL: Do not commit alter table operation for every 10000 rows if the table is main-memory type. Change 39914 on 2007/06/27 FIX: MySQL: Fixed Bug #158: comparisons on table with prefix index is broken. If key length is less than field length and the given query contains exactly the key length of data we use LIKE i.e. use RS_RELOP_GE operator) query even in exact search for the fields containing prefix index. This will significantly slow down exact queries on fields containing prefix index. This change should be reverted when prefix index support is ready. Change 39896 on 2007/06/26 TST: MySQL: Update mysql-test suite results after duplicate key error change. Change 39886 on 2007/06/25 TST: MySQL: Fix test case for solidDB for MySQL and add results. Change 39885 on 2007/06/25 FIX: MySQL: Bug #142 Fixed isolation level violation where a table with foreign key is concurrently updated. Make foreign key check against all committed transactions even if this would violate repeatable read isolation level. Database consistency is more important than isolation level. Change 39794 on 2007/06/18 FIX:MySQL:Fixed access to released memory. Fixed memory leaks. Change 39793 on 2007/06/18 DOC: Charsets and collations updated, soliddb_filewrite_flushmode and soliddb_log_enabled parameters were removed Change 39785 on 2007/06/18 ENH: MySQL: Add support and test cases for following utf8 collations: utf8_czech_ci, utf8_danish_ci, utf8_esperanto_ci, utf8_estonian_ci, utf8_hungarian_ci, utf8_icelandic_ci, utf8_latvian_ci, utf8_lithuanian_ci, utf8_persion_ci, utf8_polish_ci, utf8_roman_ci, utf8_romanian_ci, utf8_slovak_ci, utf8_slovenian_ci, utf8_spanish_ci, utf8_spanish2_ci, utf8_turkish_ci. Updated .ok files to refrect new duplicate key error message. Change 39767 on 2007/06/15 FIX:soliddb for mysql:in tab1dd not all tables was created, null terminate was not in correct place. Change 39710 on 2007/06/13 ENH: dbe_trx_builduniquerrorkeyvalue is changed to produce human readable error messages. Change 39683 on 2007/06/12 FIX: MySQL: Fix compiler error when MySQL 5.1.19 is used. Change 39681 on 2007/06/12 ENH: MySQL: Add system table SYS_COLLATIONS and virtual table SOLIDDB_SYS_COLLATIONS. Refactor some collation code and initialize system tables. Available collations are now on su0collation.c file but user should access system table. Change 39659 on 2007/06/11 ENH: MySQL: Add support and test cases for following charsets and collations: cp932/cp932_japanese_ci and eucjpms/eucjpms_japanese_ci. Change 39642 on 2007/06/11 ENH: MySQL: Add support and test cases for following ucs2 collations: ucs2_czech_ci, ucs2_danish_ci, ucs2_esperanto_ci, ucs2_estonian_ci, ucs2_hungarian_ci, ucs2_icelandic_ci, ucs2_latvian_ci, ucs2_lithuanian_ci, ucs2_persian_ci, ucs2_polish_ci, ucs2_roman_ci, ucs2_romanian_ci, ucs2_slovak_ci, ucs2_slovenian_ci, ucs2_spanish_ci, ucs2_spanish2_ci, ucs2_turkish_ci. Change 39632 on 2007/06/08 FIX: MySQL: Map foreign key errors 13193 foreign key creates update dependency loop and 13188 foreign key refers to itself correctly to MySQL error code 150: Foreign key constraint is incorrectly formed. Change 39630 on 2007/06/08 FIX: MySQL: Fix a crash bug by reverting a change from dbe4srch and returning a lock wait timeout from the handler. Change 39611 on 2007/06/07 FIX: MySQL: Fixed regression on Bug #29: SERIALIZABLE <> serializable. If isolation level is serializable we have to use locking. Release 0073 ============ Change 39581 on 2007/06/06 FIX: MySQL: Bug #154: Alter table in self referencing table discards foreign key. In copy_foreign_key_definitions we have to take account possibility of self referencing foreign keys where reftable is the same as the new table and in the MySQL case tmp table name. Change 39565 on 2007/06/06 FIX: MySQL: Fix autotest crash on get_foreign_key_create_info(). Change 39564 on 2007/06/06 ENH: MySQL: Remove unnecessary statement commit from ::write_row when executing alter table. Instead fix error handling in copy_data_between_tables. Note that this changes MySQL code. Add test cases. Release 0072 ============ Change 39549 on 2007/06/05 FIX: MySQL: Fix problem with unique indexes. Change 39540 on 2007/06/05 DOC: Updated MySQL User Guide for June PR Change 39517 on 2007/06/04 ENH: MySQL: Commit transaction on ALTER TABLE after every 10000 rows. Change 39460 on 2007/05/31 ENH: MySQL: Support for MySQL 5.1.18 configuration variables definition. Change 39452 on 2007/05/31 ENH: MySQL: Cleanup all unnecesary compiler warnings and make MySQL 5.1.18 changes. Now compiles also on 5.1.18 with l2x. Change 39447 on 2007/05/31 TST: MySQL: Bug #148: Mark w32 mysql-test cases and results as binary. Change 39417 on 2007/05/30 FIX: MySQL: Bug #89: Crash on alter table alter attribute set default. This fix is from MySQL: ChangeSet@1.2504, 2007-05-29 16:35:58+05:00, ramil@mysql.com +3 -0 Fix for bug #28652: MySQL (with-debug=full) asserts when alter table operations Problem: we may create a deadlock committing changes in the mysql_alter_table() when LOCK_open is set. Fix: unlock LOCK_open before commit to avoid possible deadlocks. Change 39403 on 2007/05/29 ENH: added support for ucs2_general_ci, ucs2_unicode_ci, ucs2_swedish_ci, utf8_unicode_ci collations; minor code changes. Change 39391 on 2007/05/29 FIX: MySQL: Must allow old table not found because table could be other than solidDB table in alter table. Change 39387 on 2007/05/29 FIX: MySQL: Support for show engine soliddb status was missing. Change 39381 on 2007/05/29 FIX: MySQL: Bug #155: Fixed Date 0000-01-01 causes crash with 5.0.40. We must allow year = 0 for solidDB for MySQL. Change 39380 on 2007/05/29 DOC: "solidDB tables do not support collations" removed. Bullet "Column index prefixes..." replaced with "solidDB for MySQL creates a normal index for...". Removed "All comparisons for string columns are case-sensitive" and "Optimizer hints given to the storage engine are not implemented...". Change 39378 on 2007/05/29 ENH: MySQL: Allow prefix indexes. solidDB for MySQL creates a normal index for prefix indexes. We give a warning that we really can't index fields on prefix index as they should be indexed. Note also that unique prefix indexes do not work exactly correctly at the moment. Change 39376 on 2007/05/29 FIX: MySQL: Bug #140: Fixed a bug alter table to parent table discards foreign key from the child table. This fix updates foreign key information in system tables. System table contains relation identification, key identification and attribute identifications for foreign key. Alter table creates a new parent table and this changes parent table identification, attribute identifications and key identifications witch need to be updated to foreign key information. Note that this does not create any new foreign keys. Change 39342 on 2007/05/28 ENH:MySQL:Table cursor cache changed. We now have multiple lists and can cache more table cursors. Change 39299 on 2007/05/25 FIX: MySQL: Do not create a second secondary key for foreign key because we have already created a index for foreign key. This problem materialized again because foreign key names are in upper case now. Change 39275 on 2007/05/24 NEW: support for bin_bin, utf8_bin, utf8_swedish_ci collations has been added. Change 39241 on 2007/05/24 ENH:MySQL/6.0:Early wakeup in log wait list if flush is not needed. Lazy flush changes. New pmon counters. Change 39237 on 2007/05/23 NEW: added support for following collations: latin1_general_cs, latin1_german1_ci, latin1_danish_ci, latin1_german2_ci, latin1_general_ci, latin1_spanish_ci. Change 39230 on 2007/05/23 FIX: Fixed Bug #141. Switch for datatypes has been removed and now all datatypes are processed same way in rs_aval_move(). Change 39217 on 2007/05/23 FIX:MySQL:Fixed section name for configuration parameter. Change 39181 on 2007/05/21 DOC: MySQL stylesheet NOTE was not visible since it was on white font, font changed to black. Change 39178 on 2007/05/21 NEW: the support for UTF-8 charset and utf8_general_ci/utf8_general_cs collations has been added. Change 39177 on 2007/05/21 ENH:MySQL:Autoincrement sequence is locked until end of statement only if MySQL replcation is enabled. Change 39173 on 2007/05/20 ENH:MySQL/6.0:Allow unlimited exclusive access in pessimistic table gate. This should help a little in those cases where load is mostly writes. Change 39156 on 2007/05/18 ENH:MySQL/6.0:We now release transactional locks before we wait commit log mark flush. This increases concurrency because locks are released before I/O wait. Log write ordering is not changed, only wait for log flush to compelete is moved after locks are released. This behaviour can be controlled using configuration parameter Logging.DelayMesWait=y/n. Optimization is disabled in HSB configuration. If log flush fails database is set to read only mode so it is possible to make a checkpoint and not loose that transaction. Change 39155 on 2007/05/18 FIX:6.0 CA:Fix to statement read level in pessimistic tables. We did not correctly allocate a new read level in all cases. Change 39148 on 2007/05/16 FIX: Fixed assertion wich appears in VC2007. Change 39082 on 2007/05/15 FIX:MySQL/6.0:Fix to statement read level in pessimistic tables. We did not correctly allocate a new read level in all cases. Change 38957 on 2007/05/10 FIX: Fixed Bug #59. X table locking has been moved from ha_soliddd::create() to ha_soliddb::start_bulk_insert(). Locking of the table in RENAME and DROP is left to require immediate locking of the table (without waiting) because there is no way to do this in MySQL without deadlocks. Change 38928 on 2007/05/09 ENH:6.0/MySQL:Added simple spin lock by calling pthread_mutex_trylock in a loop before calling pthread_mutex_lock. Change 38908 on 2007/05/09 ENH:6.0/MySQL:Changed InitializeCriticalSection to InitializeCriticalSectionAndSpinCount. Change 38898 on 2007/05/09 FIX:6.0:Fix to drop index/table in nocheck mode. Now we disable merge for all nocheck drop operations. Change 38888 on 2007/05/09 TST: MySQL: Bug #131: ALTER TABLE doesn't create a foreign key with russian letters. This bug has been fixed earlier. Change 38887 on 2007/05/09 TST: MySQL: Bug #130: Alter table doesn't add a column with russian letters. This bug seems to be fixed earlier. Change 38866 on 2007/05/08 FIX: MySQL: Fixed Bug #134: SolidDB allows dropping of FK support index in the child table. Added check that index used in foreign key is not dropped on alter table. Includes minor cleanups. Change 38786 on 2007/05/03 FIX: Fix for Bug#133 that doesn't break fix for #132 and keeps #138 fixed too. Change 38765 on 2007/05/02 FIX: MySQL: Fix Bug #138: Constraint names shown incorrectly on the server log. Set name in the handler code. Change 38764 on 2007/05/02 FIX: MySQL: Fix Bug #133: FK constraint name is replaced by FK Index name in CREATE TABLE ... FOREIGN KEY. MySQL parser ignored constraint names, this fix will assign constraint name to foreign key list. Note that this requires changes to sql_yacc.yy. Change 38756 on 2007/05/02 FIX: MySQL: Fix Bug#137: show variables like 'soliddb%' does not show default values for all configuration variables. Set system default values also to these MySQL system variables. Change 38733 on 2007/04/27 FIX:MySQL:Bug #105: Fixed problem with function soliddb_get_error_message. We do not use MySQL table handle any more because we cannot be sure if it is valid at that point. Now conflicting unique key value string is build inside the engine when unique error is detected. Error table is referenced though key id. New unique error message is slightly different so test .ok files has been changed. At the same time dbe_trx_geterrkey intarface is changed to make sure the key value pointer is valid. Change 38675 on 2007/04/23 ENH:MySQL:Autoincrement sequence lock is released at statement commit and not at transaction commit. Change 38592 on 2007/04/18 TST: MySQL: Bug #96 Foreign Keys: no match if trailing space. Add test case. This bug has been fixed with the collation support. Release 0070 ============ Change 38579 on 2007/04/18 FIX: MySQL: Additional fix to foreign key error printout. Change 38568 on 2007/04/17 FIX: MySQL: Remove foreign key index (key) name from the constraint definition string. Fix incorrect error message found when MySQL uses full table delete (truncate is not a statement). TST: MySQL: Fix test results. Change 38560 on 2007/04/17 FIX:MySQL:Fix to collation info for constraints. Change 38546 on 2007/04/17 FIX: printing of the foreign keys has been fixed for collations. Change 38541 on 2007/04/17 ENH:MySQL:Dynamic setting of ssdebug info using SET GLOBAL SOLIDDB_ADMIN_COMMAND = 'ssdebug '. Change 38523 on 2007/04/16 FIX:6.0:Fix to infinite loop with pessimistic tables when using triggers. Change 38506 on 2007/04/16 FIX:MySQL:Added cleanup of cached collation info at shutdown. Change 38505 on 2007/04/16 FIX:MySQL:Fix to foreign key checks with collation. Change 38504 on 2007/04/16 FIX:MySQL/6.0:Fixed wrong asc/desc flag value for reference key part. Change 38502 on 2007/04/15 FIX:MySQL:Added checks that transaction is active before entering dbe code. In autotest some update SQL stetment with subquery failed with deadlock and still continued to fetch. Change 38493 on 2007/04/13 FIX:MySQL/6.0:Fix to pessimistic tables. We need to recheck the row in search even if we get the lock if index level returns DBE_RC_LOCKTUPLE. Change 38477 on 2007/04/12 TST:MySQL:Test case for bug 117. The problem was found in another test a couple of days ago and fixed. Change 38466 on 2007/04/12 FIX:MySQL/6.0:Fix to crash in logfile delete and logfile corrupt. Extra buffering added to the logfile was reset and flushed correctly at logfile_split. Change 38456 on 2007/04/11 FIX:MySQL:Fix to extra_keyread behaviour when we collation key parts in the key. It did not select the key part at all. Change 38438 on 2007/04/11 FIX:MySQL/6.0:Fix to visibility rules for versioned pessimistic read. There was a problem when reading rows in older read level and there were also own updates in the same transaction. Change 38409 on 2007/04/10 FIX:MySQL/6.0:Fix to pessimistic table fetch after position call. Next row after posistion was returned and not the row where we positioned. Change 38401 on 2007/04/09 FIX: Field name case-insensitivity has been enforced in FOREIGN KEY definitions. Note that there is still problem with this in "lower_case_table_name = 0" mode. Change 38394 on 2007/04/08 FIX: bug #129 - Self-referencing FK in ALTER TABLE. New keys, when referencing the table being altered, should reference new temporary table which later will take name of the table being altered. Change 38393 on 2007/04/08 ENH: Refactoring: Parameters const char* old_schema and const char* old_table_name are replaced with rs_entname_t parameter in copy_foreign_key_definitions(). Some unused vars have been removed. Change 38387 on 2007/04/06 FIX: bug #127 fixed finally. Now non-latin table names are handled right in FOREIGN KEY constraints. Change 38382 on 2007/04/05 ENH:MySQL:Changed function ha_soliddb::records_in_range to use similar selectivity calculation as native solidDB to get row count estimate. Change 38381 on 2007/04/05 FIX: corrected a bug with non-latin table names. A table with non-latin table name could not be created. Change 38363 on 2007/04/05 ENH:MySQL:Collation support for handler code and system tables. Change 38352 on 2007/04/04 FIX:MySQL:Fixes for truncate. Now we use a special flag for simple tval update in search. This flag is used only for handler fetch code. Trucate code is not yet enabled because of problems with truncate and blobs. Change 38348 on 2007/04/04 ENH: SolidDB for MySQL collation support (behind #define SS_COLLATION) Change 38342 on 2007/04/04 FIX:MySQL:Fixed correct select wquery type for different sql types like replace. This was needed for pessimistic tables after an engine bug fix where we check that update and delete need correct select cursor type. Change 38325 on 2007/04/03 FIX:6.0/MySQL:Fix to pessimistic table update when using CURRENT OF and select statement was done without FORT UPDATE. Change 38322 on 2007/04/03 FIX:MySQL:Fix to ebugzilla #125. There was a problem with autocommit and SHOW commands. A SHOW command does not call external lock where solidDB normally does a check for autocommit. Now we restart transaction in handler ::open call if autocmmit is on and transaction has not done any writes. Change 38306 on 2007/04/02 ENH:MySQL:Changes to configuration parameters. More parameters use solidDB defaults and do not set the value to inifile in solidDB handler code. Change 38304 on 2007/04/02 ENH:MySQL:Separated merge and checkpoint, now they can happen at the same time just like in native solidDB product. Also added task thread to execute key sample read in the background. Change 38285 on 2007/03/31 FIX:MySQL:Changed solid configuration parameter defaults to match mysql defaults. Change 38274 on 2007/03/30 FIX: foreign key printing has been fixed. Change 38244 on 2007/03/29 FIX: MySQL: Add sequence locking for pessimistic tables and handle all sequence lock fails as a lock wait timeout errors. Change 38240 on 2007/03/28 FIX: bug #120, full fix. Now the FK constraint can be dropped. Change 38200 on 2007/03/27 ENH: MySQL: Set PESSIMISTIC tables as a default table type in solidDB for MySQL. Change 38195 on 2007/03/26 ENH: Backup Implementation - making use of soliddb string and mem functions Change 38186 on 2007/03/26 FIX: MySQL: Fixed Bug#78 Can drop/alter index on referenced column (can remove mandatory index). Do not allow dropping a primary key referenced by another table. Change 38176 on 2007/03/26 FIX: MySQL: Fixed Bug #63 REFERENCES clause does not create foreign key constraints. Note that part of this bug was already fixed in change #38164. Add test case for alter table where column type does not anymore match on referenced field. Fix ok files to match current version of the code. Change 38165 on 2007/03/23 TST: Add a test case for Bug #105, this still fails. There is also autotest bug where MySQL table handle is already released and we try to retrieve a key information from that table handle. Change 38164 on 2007/03/23 ENH: MySQL: Add support for column foreign keys. For example create table t1(a int not null references t0) engine=soliddb. Only the basic cases are supported at the moment. Note that MySQL does not know that we have a index for a column where foreign key has been created. Change 38128 on 2007/03/22 FIX: MySQL: Bug #105: Set the first table used in the statement to the connection error table. If statement commit succeeds clear this table. If we do a statement rollback or transaction rollback also clear this table. Table should be cleared also when a new connection is created and after the error has been returned to the MySQL handler layer. Change 38122 on 2007/03/21 FIX: Bug #115. Supported collation switched from latin1_general_cs to latin1_bin. Change 38113 on 2007/03/21 ENH: MySQL: Do not allow dropping a column from the table if this column is used in the table in a foreign key instead issue a error. Release 0064 ============ Change 38097 on 2007/03/20 FIX:MySQL:Fix row referential actions cascade test failure with delete. Change 38088 on 2007/03/19 FIX: MySQL: Fixed a autotest bug on copy_foreign_key_definitions. Check also key name when copying the old foreign key definition. Add test case. Change 38086 on 2007/03/19 FIX:MySQL:Fix to wrong dassert in rbuf free routine. Node may not be in LRU if insert fails. Change 38084 on 2007/03/19 ENH: MySQL: Added support for alter table drop foreign key . Change 38063 on 2007/03/16 FIX:MySQL:Potential fix to concurrency problems in DDL operations that cause recovery failures. Change 38040 on 2007/03/16 FIX: MySQL: Fix relh_refkeys() assert found on autotesting. Change 38025 on 2007/03/15 DOC: Two corrections made Change 38023 on 2007/03/15 FIX:MySQL:Fix to MySQL recovery problem with rename table. Change 38017 on 2007/03/15 FIX: foreign key referenced part printing has been fixed. Test added. Change 38016 on 2007/03/15 DOC: Final modifications to pmon values. HTML created. Change 38013 on 2007/03/15 FIX:MySQL:Fixed autotest error when relname is NULL in dd_relpresentbyid. Change 38004 on 2007/03/15 FIX: error message format for the foreign keys has been fixed. Duplicated code merged. Change 37991 on 2007/03/14 ENH: Added hack to avoid a problem with loosing a connection after executing soliddb backup commands. Change 37990 on 2007/03/14 FIX: Avoiding connection lost when executing backup commands Change 37989 on 2007/03/14 FIX: Large size of backup stuff results in incorrect value of the "percent done" field of the backup status". Change 37981 on 2007/03/14 FIX:MySQL:Fixed performance problem in MySQL where foreign key checks were done even if those foreign key columns were not changed. This also fixes a problem where updating row fails when foreign key references row and referneced columns are not changed. Change 37980 on 2007/03/14 FIX: MySQL: Add ::index_end() to solidDB for MySQL. Update active_index in the correct places. Change 37971 on 2007/03/14 FIX: MySQL: Add ::index_init() to solidDB for MySQL. Change 37966 on 2007/03/14 FIX: MySQL: Bug#52: Do not allow to create foreign key constraint with referential action SET NULL if the referencing column is NOT NULL. Change 37964 on 2007/03/13 DOC: Backup section updated. Change 37955 on 2007/03/13 FIX: MySQL: Fix uninitialized variable (Coverity CID 1219). Change 37953 on 2007/03/13 TST: MySQL: Add more foreign key cascade test cases. Change 37914 on 2007/03/12 ENH: New Backup Implementation Change 37908 on 2007/03/12 FIX: Fixed Bug #62. Change 37895 on 2007/03/12 ENH: MySQL: Add performance monitoring variables to SHOW STATUS output. Change 37877 on 2007/03/09 FIX: MySQL: Bug#97 has been resolved. Change 37876 on 2007/03/09 FIX: MySQL:Fixes for mutex profiling. Change 37857 on 2007/03/08 FIX:MySQL:Bugs #109 and #113. Fixed locking behaviour with insert. Now we correctly wait for a lock also in insert case. Change 37856 on 2007/03/08 FIX:MySQL:Bug #108. Fixed autoincrement sequence locking problem. Sequence was locked always which caused problems in optimistic tables because they waited for the lock. Change 37850 on 2007/03/08 TST: MySQL: Add procedure tests for solidDB for MySQL. Change 37835 on 2007/03/07 FIX: MySQL: Fixed Bug #105: Duplicate key error on trigger causes a server crash. Change 37828 on 2007/03/07 ENH:MySQL:Added proper select list handling. Now we select only required fields. It has great performance improvement for example if a BLOB field is not needed in the select list. Change 37821 on 2007/03/07 FIX: MySQL: Fix compiler errors and return a correct error message if column used in the foreign key can't be found from the referencing table or referenced table. Change 37815 on 2007/03/06 ENH:MySQL:Changed log file write to use internal buffering. We can write multiple blocksize blocks at the same time if there is no need to do log file flush. This ensures proper log file block ordering and avoid extra flush calls. Previously when we wrote every block separately we had to do file flush before writing commit record to ensure correct order of writes. Change 37807 on 2007/03/06 FIX: MySQL: Fix a bug on add foreign key references table. Referenced column names are not required. Add more test cases. Change 37804 on 2007/03/06 FIX: MySQL: Bug #92: Fixed Foreign Keys: ALTER TABLE does nothing. Added our own foreign key parser to tab0minisql. Added relid to foreign key constraint names to make these names unique because MySQL allows you to use same constraint names. Change 37754 on 2007/03/01 ENH: Bug #101 has been fixed according to the new spec Change 37708 on 2007/02/27 FIX: MySQL crashes on too long list of resolved keys. Change 37648 on 2007/02/26 FIX: MySQL: Fixed Bug #111 SHOW TABLE STATUS does not include autoincrement value for SolidDB tables. Change 37645 FIX: MySQL: Fixed Bug #112: SHOW TABLE STATUS has invalid/garbage last update time. Set update time same as create time if no update time can be found. Add default charset and collation for soliddb_unique test case and fix test results. Change 37571 on 2007/02/19 FIX: MySQL: Fixed Bug #49 Do not allow SET_DEFAULT on referential actions. MySQL does not provide default value for the attribute to the storage engine on alter table. Change 37569 on 2007/02/19 FIX: MySQL: Fixed Bug #83: Incorrect error message on alter table with unsupported character set. Change 37567 on 2007/02/19 FIX: MySQL: Bug #63: Fixed REFERENCES clause does not create foreign key constraints. Issue a error if references is used in the column definition. Change 37561 on 2007/02/19 FIX: MySQL: Bug #100: Fixed alter table error message inverts table/field name. Change 37560 on 2007/02/19 FIX: MySQL: Bug #53: Added missing log size and changed memory statistics to memory size. Change 37559 on 2007/02/19 FIX: MySQL: Bug #76: Do not change table default charset while printing warning from unsupported charset. Change 37536 on 2007/02/16 FIX: solidDB for MySQL: Bug #93, partial solution to insert speed on certain fs's FIX: solidDB: Bug #523, partial solution to insert speed on certain fs's Change 37529 on 2007/02/15 FIX:6.0/MySQL:Fix to index search problem at the end of merge. Change 37514 on 2007/02/15 FIX:6.0/MySQL:Fixes for splitpurge and new B-tree locking. Change 37472 on 2007/02/13 FIX:6.0/MySQL:Fix to splitpurge and statement abort. We need to use latest trxid for usertrxid so the aborted statement does not get cleaned too early. Change 37460 on 2007/02/13 FIX: Bug #80 has been fixed. Implicit foreign key constraint names are now generated in SolidSE. Change 37441 on 2007/02/13 ENH:MySQL:Optimized some memory allocations. Fixed memory leaks. Change 37436 on 2007/02/12 NEW: SolidDB referential actions for MySQL. Fixes Bug #47, and Bug #51. Change 37431 on 2007/02/12 FIX:MySQL:Potential fix to concurrent table access and recovery problems with ALTER TABLE log mark and unknown table id. Change 37421 on 2007/02/09 ENH: MYSQL 6.0: refactored solid_split_myrelname: redundant NULL checks removed, skip loops unified in look. Change 37420 on 2007/02/09 FIX:MySQL:Fixed memory leaks. Release 0059 ============ Change 37366 on 2007/02/07 FIX: MySQL: Fixed Bug #76 Can't create table when CHARSET=latin1 is specified. Change 37348 on 2007/02/06 ENH: MySQL: Fix Bug #53: Need SHOW STATUS variables for SolidDB. Change 37343 on 2007/02/06 FIX: Bug #59 partly fixed. Thew solution may be later re-evaluated and re-design. Change 37339 on 2007/02/05 FIX: Bug #58 "MySQL allows several identical UNIQUE constraints per a table." Change 37306 on 2007/02/02 FIX:MySQL:Fix to unique fetch, removed wrong dassert. Change 37305 on 2007/02/02 FIX: MySQL: Fix uninitialized variable. Change 37296 on 2007/02/02 FIX: MySQL: Coverity CID #1040: Add check for comment string. Fix a race condition in ::get_foreign_key_create_info(void) if referenced table is dropped while getting foreign key description string. Change 37295 on 2007/02/02 FIX: MySQL: Coverity CID #1041: Removed unused pointer. Change 37294 on 2007/02/02 FIX: MySQL: Coverity CID #1062: Fixed possible resouce leak on solid_relcur_setconstr(). Change 37292 on 2007/02/02 FIX:6.0/MySQL:Fixed a Coverity complaint about unintialized variable altough it cannot really be uninitialized because of other logic in code. Coverity ID 319. Change 37291 on 2007/02/02 FIX:6.0/MySQL:Fix to dead code, Coverity ID 673. Change 37290 on 2007/02/02 FIX:6.0/MySQL:Fix to dead code, Coverity ID 674. Change 37289 on 2007/02/02 FIX: MySQL: Coverity CID 1090 Unused value in solid_parseandset_filespec(). Change 37288 on 2007/02/02 FIX: MySQL: More fixes for ::records_in_range to avoid resource leak. Change 37287 on 2007/02/02 FIX: MySQL: Fixed Coverity CID 1130 Resouce leak on ::records_in_range. Change 37286 on 2007/02/02 FIX:MySQL:Fixed dead code found by Coverity. Change 37285 on 2007/02/02 FIX: MySQL: Coverity CID #1146. Change 37276 on 2007/02/01 FIX:MySQL:Fix to unique row fetch. Release 0058 ============ Change 37256 on 2007/02/01 FIX: MySQL: Fix initialization bug from ::delete_table. Fix a bug from error handling on w32 MySQL code. Change 37254 on 2007/02/01 FIX: MySQL: Fix a bug on 5.0.27 w32 error handling. Change 37249 on 2007/01/31 FIX: MYSQL: Fix compiler errors and use solid tasking system for lock waits. Fix error handling for drop table to print errors. Change 37244 on 2007/01/31 FIX:MySQL:Fix to unique row fetch. Change 37212 on 2007/01/30 FIX: MySQL: Bug #90: Fixed TEXT columns are not updated by a REPLACE INTO query. Change 37209 on 2007/01/30 FIX:MySQL:Fix to NULL pointer to rs_entname_done. Change 37205 on 2007/01/30 FIX:6.0/MySQL:Fix to splitpurge. Change 37198 on 2007/01/30 FIX:MySQL:Fixed copied foreign release. It did not work correctly if reading foreign keys failed in the middle. Change 37182 on 2007/01/29 FIX:MySQL:Fix to NULL relname when relname is not found by relid. Change 37164 on 2007/01/26 FIX:MySQL:Fixed a bug in postval. V-attribute references were left pointing to a bad memory. Change 37163 on 2007/01/26 FIX: External Bug #70 "soliddb_backupdir defaults to '' (empty string) but can not be set back to the default value after modification" Change 37114 on 2007/01/24 ENH: MySQL: Integrate drop database support to community edition and w32 edition. Add l2x and w32 specific ok files for Bug #65. Change 37079 on 2007/01/23 FIX: Bug #65. Change 37052 on 2007/01/22 FIX: MySQL: Fix compiler errors on l2x MySQL compilation. Change 37047 on 2007/01/19 FIX: Bug #516. Disable shutdown timeout because possible checkpoint operation cannot be cancelled and we have to wait for it to complete. Change 37033 on 2007/01/19 FIX: MySQL: Bug #39: Search fails if index and trailing space. Use like query on all string comparisons Change 37009 on 2007/01/18 FIX: MySQL: Bug #75: CREATE_TIME is always NULL for solidDB tables fixed. Note that update_time is updated after the first checkpoint. Change 37006 on 2007/01/18 ENH:6.0/MySQL:Optimized one memory allocation from D-table data row search. Change 37005 on 2007/01/18 FIX:MySQL:Fixes to index only fetch optimization. Change 36993 on 2007/01/18 ENH:MySQL:Enabled unique row fetch. Change 36977 on 2007/01/17 FIX: MySQL: Fixed Bug #83: Cannot ALTER TABLE to convert to Solid SE, even if charset and collation are specified. Change 36971 on 2007/01/17 ENH:MySQL:Optimization to read only index columns if MySQL gives ::info flag HA_EXTRA_KEYREAD. Change 36961 on 2007/01/17 FIX:MySQL:Fixed potential concurrency problem with alter table when foreign key constraints are copied and same operation is done concurrently from another thread. Change 36953 on 2007/01/17 FIX: MySQL: Bug #84: We need to do a statement commit on ::write_row() function after a insert if MySQL is running a alter table command. This is because MySQL in 5.0.x does not check wheather commit fails or not and does not print out possible errors in alter table commit. In MySQL 5.1 this seems to be fixed. Change 36935 on 2007/01/15 FIX: MYSQL/6.0 RES: fixed compiling on GCC 4. "error: cast from 'void*' to 'int' loses precision". Change 36934 on 2007/01/15 FIX: MySQL: Fix bug on solid_get_error_message function FIX: MySQL: Fix bug on ha_soliddb:.create function Change 36916 on 2007/01/12 FIX: BUG #79 - dropping table w/ referenced key yields incorrect error message Change 36909 on 2007/01/12 FIX:MySQL:Fixed a problem with potentially uninitialized field when copying a foreign key definitio Change 36885 on 2007/01/11 TPR #903720: Bug #81: some statements like creating a FK to a table can invalidate (abort) relation handle with may be referenced to in MySQL handler. After that this table cannot be accessed via this handle. The handle should be re-opened and stored to the handler instance. The bug has been fixed by additional check for aborted relation handle in ha_soliddb::get_solid_connection(). Change 36878 on 2007/01/11 FIX: MySQL: In alter table we should not check foreign keys when MySQL issues a ::delete_table for the old table, instead we should do a drop in cascade mode. ENH: MySQL: Add direct support for drop_database and flush_logs to 5.0.x. Change 36868 on 2007/01/11 DOC: MySQL: Fixed SQL statement error (double semicolon) Change 36854 on 2007/01/10 FIX: MySQL: Bad error message on locking failure fixed. This is fix for Bug #52 and TPR#903681. Change 36777 on 2007/01/04 FIX:6.0/MySQL:Fixed memory leak with new logdir parameter handling. Change 36775 on 2007/01/04 FIX:MySQL:Fixed a memory leak when genareting error message for MySQL. Change 36770 on 2007/01/04 FIX:MySQL:Fix to crash if delete row failed with foreign key constraint in statement commit. When getting error message table handle was NULL. Change 36725 on 2007/01/02 ENH: MySQL: Add foreign key name or definition when possible to error string. ENH: MySQL: Use LogSection.LogDir if soliddb_logdir provided. Change 36723 on 2007/01/02 FIX:MySQL:Fixed constraint handling. Now more than one constraint is used also for other than equal constraint. Change 36722 on 2007/01/02 FIX:MySQL:Removed wrong debug assert. Change 36719 on 2007/01/02 FIX: LogDir default for MySQL has been changed to "" (same as for Solid). Change 36698 on 2006/12/27 ENH:MySQL:Fixes to unique fetch optimization. Change 36668 on 2006/12/22 ENH:MySQL:Removed unnecessary memory allocation when creating tuple position tval. Change 36667 on 2006/12/22 FIX:MySQL:Fix to update problem where row was not updated always. When cursor was positioned to row based on tuple reference and merge was active sometimes we positioned to a wrong row. Change 36632 on 2006/12/20 FIX: MySQL: Fix foreign key error message. TODO: Add failed foreign key definition to error message. Release 0050 ============ Change 36611 on 2006/12/19 FIX:MySQL:Fixed a memory leak in create table. Change 36608 on 2006/12/19 FIX:MySQL:Fix to foreign key create. Server crashed if foreign key was created without listing referenced column names. Change 36583 on 2006/12/18 FIX:MySQL:Fixes to foreign keys 1) Now altering operations like DROP INDEX work. The new table created by MySQL has the same foreign key definitions as the original table. We just copy the definitions from the old table when creating a new table. 2) Fixed memory leaks in foreign key create and in SHOW CREATE TABLE statement. Release 0049 ============ Change 36536 on 2006/12/15 FIX:MySQL:Fix to concurrent data dictionarty changes. Added sleep when we get a failure because of concurrent data dictionary change. Change 36528 on 2006/12/15 TPR #50335:MySQL:Fixed again IS NULL constraint handling. Fixes the Bug #4. Change 36525 on 2006/12/15 FIX: MySQL: Fix a crash bug on admin command pmon. Check that parameters are given. Change 36514 on 2006/12/14 FIX:MySQL:Fixed RESTRICT foreign key action in update. Previously we did not check RESTRICT action at all in update. Change 36512 on 2006/12/14 FIX:MySQL:Fixed wrong attribute number in updated attributes list. Change 36508 on 2006/12/14 ENH: MySQL: Allow using ucs2 character set (UNICODE) with ucs2_bin collation. Change UNICODE to default these values. Note that this change changes also MySQL code. Change 36502 on 2006/12/14 TPR #903694:MySql:now user can NOT write to solid systemtables. We now check is table is systemtable and return NO_SUCH_TABLE error if it is. Interface between MySql and handler has fixed set of errorcode which does NOT include NO_PRIVILEGE error. Bug #71. Change 36501 on 2006/12/14 ENH: MySQL: Set latin1 and latin1_general_cs as a default character set and default collation on MySQL. Bug #31. Change 36495 on 2006/12/14 FIX:MySQL:Fixed uninitialised structure member reference. Added proper initialization for the structure member. Change 36505 2006/12/14 FIX: changed [indexfile]cachesize config parameter to be of type int8 instead of long, because long is unable to pass > 4GB cache size in 64-bit windows, In dbe_cfg_XX level the parameter is now of type size_t which is 64-bit also in 64-bit windows. Bug #72. Change 36486 on 2006/12/13 FIX: made cache allocation happen in pieces for platforms where SS_PAGED_MEMALLOC_AVAILABLE is defined (eg. Linux). This allows bigger cache size expecially for 64-bit platforms Change 36494 on 2006/12/13 FIX:6.0/MySQL:Fix to dangling pointer reference to released memory that was left into rbuf LRU when rbuf insert failed. Change 36488 on 2006/12/13 FIX: MySQL: Bug #73: soliddb reserves tables in _SYSTEM database. Creating tables with these reserved names segfaults mysqld. Do not allow dropping a system tables. Change 36480 on 2006/12/13 TPR #903685: MyQL Bug #47. Foreign Keys: NO ACTION returns different error message fixed. Changed error code. Note that NO ACTION referential actions are not supported at the moment. However, we could support them. Bug #48 Change 36463 on 2006/12/13 FIX: MySQL: Do not allow using unsupported character set or collation on default table character set and collation. FIX: MySQL: Do not allow indexing a field with unsupported character set or collation. FIX: MySQL: Allow only RESTRICT referential action on foreign keys. FIX: MySQL: Set RESTRICT referential action as a default referential action. FIX: MySQL: Set latin1 and latin1_general_cs as a default character set and collation for MySQL/solidDB. Bug #47, Bug #48, Bug #49, Bug #51 and Bug #66. Change 36454 on 2006/12/13 TPR #903687: MySQL Bug #61. Fixed a bug on DROP DATABASE fails with foreign keys on tables. Change 36438 on 2006/12/12 FIX:MySQL:Addad variable initialization. Change 36434 on 2006/12/12 FIX:6.0/MySQL:Fix to rbuf handling. Now we allow also relh id insert to fail. It is possible in some rename table scenarios. Release 0048 ============ Change 36425 on 2006/12/12 FIX:MySQL:Fixed memory leak in debug output. Change 36424 on 2006/12/12 TPR #903672:MySQL:Fix to constraint handling. RS_RELOP_GT did not work correctly. Fixed also potential problem with with RS_RELOP_LT. Bug #46. Change 36423 on 2006/12/12 DOC: "Multiple NULL values not allowed for UNIQUE keys" added to limitations, example in section 1.18.2 was fixed. Bug #55. Change 36419 on 2006/12/11 FIX:6.0/MySQL:Fix to a wrong debug assert. Change 36416 on 2006/12/11 FIX: Bug #38. Allow statements in a transaction to access table that has been changed since transaction begin. Change 36396 on 2006/12/11 DOC: MYSQL: Updated release notes and changelog for solidDB for MySQL GA. Change 36392 on 2006/12/11 ENH:6.0/MySQL:Default values for parameter SQL.EstSampleMaxEqualRowEstimate changed from 10 to 50. It seem to give better optimizer decisions. Change 36389 on 2006/12/11 FIX: MySQL: Fixed behaviour of DATE, TIME, DATETIME, and TIMESTAMP fields. Change 36383 on 2006/12/08 ENH: MySQL: Map TIME, TIMESTAMP, DATE, NEWDATE, and DATETIME to solid DATE type. Change 36379 on 2006/12/08 FIX:MySQL:Fixed table allocation that was too small. Wrong column count was used. Change 36378 on 2006/12/08 FIX:MySQL:Removed Solid specific pseudo columns from table type when using MySQL. Now those names are not reserved names. Change 36370 on 2006/12/07 FIX:MySQL/6.0:Fix to MySQL autotest problem where dbe6bkrs.c referenced a key value owned by dbe5isea.c and the original value in dbe5isea.c was already released. Change 36369 on 2006/12/07 TPR #903658: Fixed Bug #43 & #35. Map all dates to bigints. Change 36366 on 2006/12/07 FIX:MySQL:Allow BLOB fields to be indexed. It requires that index prefix lenght is 255 bytes, other lengths to not work right now. This needs to be changed later with proper prefix index support. Change 36362 on 2006/12/06 FIX: TRP 1060002 - Change assert message when used with MySQL Change 36353 on 2006/12/05 FIX:6.0/MySQL:Fix to illegal access to a memory that may already released. This problem was only in a debug check code, it was not possible in product version. Change 36349 on 2006/12/05 FIX:MySQL:Fixed memory leaks. Improved error checking. Change 36348 on 2006/12/05 FIX: Bug #42 - Can't insert with 42 64-character columns. Change 36347 on 2006/12/05 FIX: BUG #36. Do not allow SHOW SOLIDDB STATUS in procedures and triggers. Change 36346 on 2006/12/05 TPR #903656:MySQL:Again a fix to accepted floating point number range. There was another that masked out a problem with test case. Now we just need to accept double values that we get from MySQL and assume that they are ok. Bug #41. Change 36338 on 2006/12/05 FIX:MySQL:Fix to memory leaks. Thread local context was not released properly with MySQL threads. Change 36335 on 2006/12/05 DOC: SOLIDDB_SYS_TABLES table width fixed. SOLIDDB_ADMIN_COMMANDS table fixed. Change 36324 on 2006/12/04 FIX:MySQL:Fixed untialized memory access reported by Purify. Change 36318 on 2006/12/04 TPR #903656:MySQL:Fix to accepted floating point number range. We now accept full IEEE range and assume that we do not have any platforms where that range is not supported. Bug #41. Change 36303 on 2006/12/01 TPR #903655:MySQL:Fix to rename bug where table could not be moved from one mysql database to another. Bug #40. Change 36299 on 2006/12/01 FIX: MySQL: Bug #37: Crash if drop duplicate index. MySQL does not initialize thd->lex->keys correctly on create index... Iterate only thd->lex->keys.elements number of key definitions and iterate same list only correct number of foreign key definitions. Change 36286 on 2006/12/01 ENH:6.0/MySQL:Added new cache reachmode READWRITE_NOCOPY. Also added function to change slot mode from READWRITE to READONLY. Change 36255 on 2006/11/30 FIX: Bug #33 - Database Warning 1022 has incorrect text. Added alternative warning text to be used in case of MySQL+solidDB. Change 36234 on 2006/11/29 ENH: MySQL: Add support for drop table ... cascade for MySQL/solidDB. Change 36196 on 2006/11/28 ENH: MySQL: Modifications to manual section Online Backup Change 36193 on 2006/11/28 FIX: MySQL: solid_relcur's tval could be NULL after primary key search if solid_fetch is called again (not sure why that would happen). Added instrumentation to check that ttype does not disapear. Change 36167 on 2006/11/27 FIX: 'soliddb_backupdir' system variable changed back to SHOW_CHAR_PTR type. Change 36136 on 2006/11/27 TPR #50347: MySQL: Do not allow creation of spatial indexes on MySQL/solidDB. Map spatial data type to blob. Bug #10. Change 36134 on 2006/11/27 TPR #50341: MySQL: Fixed a bug on searches of ucs2 columns give wrong answers. We should use field's character set on ::store() . Bug #7. Change 36130 on 2006/11/27 TPR #50365: MySQL: Warning message should be printed if more than one storage engine takes part of transaction and transaction was rollbacked. Change 36128 on 2006/11/27 FIX: MySQL: Fix coverity CID 913. Change 36099 on 2006/11/24 ENH: 'soliddb_backup' procedure has been added. Change 36090 on 2006/11/24 ENH: MySQL: Add support for insert ignore and update ignore for MySQL/solidDB. Change 36088 on 2006/11/24 ENH: MySQL: Add support for insert into ... on duplicate key ... for MySQL/solidDB. Change 36086 on 2006/11/24 FIX: MySQL: Fix a bug on drop database. If you created a database and tables with foreign keys you could not drop created database because of foreign keys on tables. Change 36085 on 2006/11/24 TPR #903589: MYSQL: Bug #29 SERIALIZABLE <> serializable problem. MySQL/solidDB does the serializable check at the end of the transaction i.e. on statement commit. This change reguired a new function pointer to handlerton structure and initialization of this function pointer on all storage engines. Additionally, requires a error handling on ha_commit_one_phase function on handler.cc. Don't know any better way of doing this at the moment. Revert these changes if you find a better way of handling errors on commit phase. Change 36058 on 2006/11/23 FIX: MySQL: Fix a bug on timestamp fields. Timestamp fields where previously converted to varbinary fields. However, this caused inconsistent results compared to what you would expect. Now timestamp fields are converted to bigints and test cases provided in this patch show that results are identical compared to what you would expect. Change 36042 on 2006/11/22 ENH: Added online backup documentation. Change 36041 on 2006/11/22 FIX: SHOW VARIABLE problem for soliddb_backupdir has been fixed. Change 36036 on 2006/11/22 ENH: MySQL: Do not allow creation of MySQL column prefix indexes on MySQL/solidDB. Instead return HA_ERR_WRONG_COMMAND (not supported). Some of the test cases used colum prefix indexes and these are also removed. Change 36032 on 2006/11/22 ENH:solidDB for MySql:removed not relevant pmon counters, like native SQL, native RPC, HSB, etc... Change 35993 on 2006/11/21 FIX: MySQL: This fixed a bug on primary key searches when MySQL call ::index_next_same. Change 35988 on 2006/11/21 FIX: MySQL: Change TYPE parameter from create table to MODE parameter. Change 35944 on 2006/11/20 ENH:6.0/MySQL:Removed merge messages from native solidDB Beta and MySQL product builds. Change 35938 on 2006/11/19 ENH: BACKUP: added copying of all other files in mySQL data directory. Change 35937 on 2006/11/18 ENH: BACKUP: added backing up of mySQL configuration file. Change 35935 on 2006/11/17 FIX: fixed bugs in do_backup (went to backup even after bad result from backup dir check) and do_command (didn't extract command parameters). Change 35915 on 2006/11/17 FIX: MySQL: Add support for optimistic/pessimistic tables for MySQL/solidDB. Change 35903 on 2006/11/17 ENH: clearing backup directory before backup start. Change 35902 on 2006/11/17 FIX: MySQL: Fixed a bug on ::records_in_range(). MySQL could call this function with min_key and max_key set to null at least on SELECT count(*) FROM t1 WHERE CLIENT='000' AND (ARG1 != ' 1' OR ARG1 != ' 2'); when CLIENT is not indexed field but ARG1 is. This fixed a crash on soliddb_range test. Change 35901 on 2006/11/17 FIX: MySQL: Fixed a bug on foreign key list creation. Now select * from information_schema.KEY_COLUMN_USAGE where TABLE_SCHEMA= "test"; works. This fixes a failure on soliddb_inform_schema test. Change 35892 on 2006/11/16 ENH: MySQL: Refactor admin command code. Change 35888 on 2006/11/16 FIX: MySQL: Fix hang if wrong soliddb admin command was given. Change 35881 on 2006/11/15 ENH: Implementation of DDL blocker. Create, drop and rename table are protected with blocker, Other DDL is still needs to be protected. Release 0040 ------------ This is a bugfix release for MySQL-5.0.27. Change 35849 on 2006/11/14 FIX: MySQL: Revert some of the foreign key code. This version does pass runallnet and tmysql5.sql tests. TPR #903600: Fixed crash on drop index. Bug #32. Release 0036 ------------ This is a bugfix release for MySQL-5.0.27. Change 35602 on 2006/11/01 ENH:changed default values of: soliddb_db_block_size from 8Kb to 16Kb soliddb_log_block_size from 16Kb to 64Kb Change 35597 on 2006/11/01 TST: Add database to test cases and drop this database so that if you run these test scripts on a loop you will always see the same database i.e. there are no tables already existing from a previous run. Change 35599 on 2006/11/01 ENH:solidDB for MySql:switch from 5.0.26 to 5.0.27 Change 35397 on 2006/10/20 ENH: Added support for show soliddb mutex and show engine soliddb mutex commands. These need special compilation to work. Renamed soliddb_blocksize parameter. We have now soliddb_db_blocksize, soliddb_log_blocksize, and soliddb_backup_blocksize paramerers. Additionally, added dynamic soliddb_backupdir parameter. Change 35390 on 2006/10/19 ENH: flattened mutex objects now default for windows and pthread systems and improved zero-timeout mutexing for windows using TryEnterCriticalSection() Change 35381 on 2006/10/18 FIX: Fix to parameter soliddb_checkpoint_time behaviour. The parameter setting did not have any effect. Change 35370 on 2006/10/18 NEW:solidDB4MySql:pmon trace support:API is: create table SOLIDDB_ADMIN_COMMANDS (cmd varchar(255)) engine=soliddb; insert into SOLIDDB_ADMIN_COMMANDS values('pmon diff start pm1.out 1000'); insert into SOLIDDB_ADMIN_COMMANDS values('pmon diff stop'); insert into SOLIDDB_ADMIN_COMMANDS values('pmon diff clear'); Change 35364 on 2006/10/18 ENH:6.0/MySQL:Added lots of inline functions. Also restructured code in some places. Deleted some files that are not needed. Change 35300 on 2006/10/13 ENH:MySQL:Optimization to read directly from B-tree if we are searching unique key value. This is not complete yet, some more cases could use simpler B-tree search. Change 35290 on 2006/10/12 FIX:Fix to pessimistic tables and READ COMMITTED isolation level. Lock mode was resolved incorrectly causing lost updates that were not detected. As a result there were two delete marks for the same row in a database. Change 35273 on 2006/10/12 FIX:Fix to random key range v-tuple corruption in referential integrity action check. Change 35219 on 2006/10/11 ENH: MySQL: Upgrade to MySQL-5.0.26. Release 0032 ------------ This is a bugfix release for MySQL-5.0.22. Change 35194 on 2006/10/10 TPR #1020037: MySQL: Fixed a bug on ORDER BY with DESC. Added test cases to both MySQL test suite and internal test suite. Added -bu option to UNIX diff. Change 35177 on 2006/10/09 FIX: MySQL: Do not start solidDB if skip-soliddb option is given on MySQL configuration. Change 35161 on 2006/10/06 FIX:MySQL:Fixed bug is NULL constraint handling. Change 35159 on 2006/10/06 FIX:MySQL:Fixed bug multi-part range_end constraint handling. Change 35151 on 2006/10/05 ENH:MySQL:Optimized ttype/atype usage. Change 35143 on 2006/10/05 FIX: MySQL: 64-bit fix to long fields. Change 35114 on 2006/10/04 DOC: A chapter on solidDB Data Dictionary was added. Change 35102 on 2006/10/04 TPR #50359: MySQL: Fixed a bug on unsigned integers become high values on 64-bit versions. Map LONG type to BIGINT on MySQL/solidDB. Bug #16. Change 35100 on 2006/10/04 ENH:MySQL:Forced full merge to run every 10 seconds if there are any merge writes. This is done to clean up Bonsai-tree in cases where there are very few writes. Change 35085 on 2006/10/03 ENH:MySQL:Reduced memory allocations in constraint handling. Change 35082 on 2006/10/03 ENH:MySQL:B-tree bnode mismatch index enabled by default. Database file format is changed so all old databases need a conversion before they can be used. MySQL version will do the conversion automatically. Change 35071 on 2006/10/03 ENH:MySQL:Added immediate deadlock detection for lock requests. This is enabled by default in MySQL compilation, otherwise is is disabled. It can be configured using parameters General.FastDeadlockDetect, General.DeadlockDetectMaxDepth and General.DeadlockDetectMaxLocks. If fast deadlock detect is enabled as a side effect we cannot use SPLITMUTEX optimization because deadlock detection needs to enter several mutexes and we cannot control the order they are entered. Change 35070 on 2006/10/03 ENH:MySQL:Changed select statement to use versioned read with pessimistic tables and REPEATABLE READ isolation level. This can be configured with configuration parameter General.VersionedPessimisticRepeatableRead. Default value is Yes. Change 35067 on 2006/10/03 FIX:6.0/MySQL:Fix to merge part clearing. Merge part searches were not released until merge was stopped. This kept cache buffers in merge search reserved and sometimes caused server to run out of cache blocks if there were only a few cache blocks available. Change 34999 on 2006/09/28 FIX: MySQL: Check cursor type on cursor reuse check. Change 34985 on 2006/09/28 FIX: MySQL: pass correct cursor type (normal select, select for update, delete, update) to dbe_cursor routines. Change 34973 on 2006/09/27 ENH:MySQL:Changed merge and checkpoint scheduling to avoid unnecesary wait between operations. Change 34961 on 2006/09/27 by ENH:MySQL:Started to multiple threads to run merge. Change 34936 on 2006/09/26 DOC: solidDB status chapter added. Change 34906 on 2006/09/25 DOC: Added that you soliddb_pessimistic affects new tables only and that you cannot change concurrency behaviour for an existing table. Change 34905 on 2006/09/24 FIX:MySQL:Fixed a bug in handler code. Cursor reuse check did not check for_update flag. As a result previous cursor mode (with or without FOR UPDATE) was sometimes used in next select to the same table if old cursor was reused. Change 34774 on 2006/09/14 FIX: MySQL: Allow dropping, renaming, truncating and altering a table when a concurrent transaction is active. This is done so that MySQL/soliddb does not take a lock to relation in dropping, renaming, truncating or altering. Added test cases for those 7 additional bugs. Note that this fix does not fix all of them. Change 34740 on 2006/09/11 ENH:MySQL:Minor optimization with memory allocation in write operation concurrency check. Release 0027 ------------ This is a bugfix release for MySQL-5.0.22. Change 34707 on 2006/09/08 FIX:MySQL:Fix to bool*/int* type cast problems. Change 34703 on 2006/09/08 ENH:eliminated some method calls. Also added some ss_dasserts to check autoincrement failures. Change 34690 on 2006/09/08 FIX: Fix soliddb_insert result file. Change 34688 on 2006/09/08 ENH: Add profiler compilation. Change 34630 on 2006/09/06 ENH: MySQL/soliddb: Explicit invalidation of query cache is not necessary in transactional query cache. Change 34627 on 2006/09/06 FIX: Fixed a memory leak. Change 34619 on 2006/09/06 FIX: MySQL/soliddb Can't find record bug on replace. Change 34597 on 2006/09/05 TPR #50335: MySQL: IS NULL AND IS NOT NULL crashes fixed TPR #50355: MySQL: IS NULL ... ORDER BY give wrong answers fixed. Added test cases. Bug #4 and #14. Change 34588 on 2006/09/04 TPR #50339:MySQL:Fixed bug where OR IS NULL give wrong answers. Bug #6. Change 34551 on 2006/09/04 FIX: Coverity CID 909. Free memory after use. Change 34544 on 2006/09/04 TPR #50363:MySQL: I should be able to create different tables named 'abc' and 'ABC' if --lower_case_table_names=0 is used. For values 1 and 2 we still use upper case names. Bug #18. Change 34540 on 2006/09/04 TPR #50365:MySQL: Error during COMMIT but it's committed anyway. Now a warning is issued. Note that you should use X/Open XA protocol when using two or more transactional storage engines in a same transaction and that MySQL/solidDB does not support XA at the moment. Bug #19. Change 34511 on 2006/08/31 TPR #453504:MySQL: repeatable read isolation level does not seem to work with solid for mysql. Use transactional query cache and invalidate query cache after a insert. Change 34470 on 2006/08/30 FIX: Disable geometry support in MySQL/solidDB at least for a while. Change 34468 on 2006/08/29 TPR #50351:MySQL: Store FLOAT types to DOUBLE types internally. Bug #12. Change 34464 on 2006/08/29 TPR #50349:MySQL: Update first timestamp field on insert and update if user has not provided a new value. Bug #11. Change 34460 on 2006/08/29 FIX: Fix a crash bug on IS NULL and IS NOT NULL queries. Change 34453 on 2006/08/29 TPR #50333:MySQL: Remove bugy assertion from BIT datatype and add test cases to MySQL test suite. Change 34421 on 2006/08/25 FIX:removed some not valid configuration options. Also fixed some compile/link bugs. Change 34404 on 2006/08/24 FIX:mysql:Sterted to use same default values for solidDB configuration parameters in MySQL as in normal server. Also removed some configuration parameters that are not needed. Change 34332 on 2006/08/18 FIX: MYSQL: cast needed for pointer. Change 34261 on 2006/08/15 ENH:MySQL:Improved cursor reuse in multi-user setup where table handles are moved between connections. Change 34242 on 2006/08/15 FIX:MySQL:Fixes to a problem when MySQL table handle is moved from one connection to another. Release 0024 ------------ Change 34148 on 2006/08/08 FIX: MYSQL 5.0: removed max_cflags and -g from amd64 script. Change 34136 on 2006/08/08 NEW: MySQL 5.0: added 64-bit (AMD) compile script. Change 34122 on 2006/08/07 FIX: DBSE 6.0 DOC: fixed to html, typos. Change 34119 on 2006/08/07 DOC: DBSE 6.0: fixed html. Change 34068 on 2006/08/03 FIX:solidDB for MySQL:if table exists as .frm but not in solid.db we assertted. Now we return 'table not found'. Change 34034 on 2006/08/01 FIX: SQL parser error. Change 34032 on 2006/08/01 FIX: Second try to fix compile-dist. Change 34030 on 2006/08/01 FIX: Try to fix compile-dist. Add soliddb symbol to lex.h. Change 34011 on 2006/07/31 DOC: Added dynamically configurable solidDB system variables. Change 34001 on 2006/07/28 DOC: DBSE 6.0: typos fixed, small layout changes. removed use of
    to get durability numbers. ("3." != "3"). Change 33995 on 2006/07/28 ENH: 0024: Add more global dynamic parameters to MySQL/soliddb. Now solidDB supports: set global soliddb_lock_wait_timeout=x; set global soliddb_durability_level=x; set global soliddb_checkpoint_interval=x; set global soliddb_checkpoint_time=x; Change 33994 on 2006/07/28 FIX: Support for show soliddb status now works. Add some perl tests which uses a DBI interface. Note that you must edit server-cfg to get it work on you installation. Change 33993 on 2006/07/28 DOC: Added sectiong tags and links. Change 33992 on 2006/07/28 FIX: SOLMYSQL: C++ requires explicit casts from void*. Change 33990 on 2006/07/28 ENH: 0023: Add implementation for show engine soliddb status; Change 33989 on 2006/07/27 DOC: Add File Management section to documentation. Change 33987 on 2006/07/27 FIX: If a database file is full solidDB normally enters to read only mode. But after we have added a new database file we can reenter normal mode i.e. set read only mode to false. This patch fixes this 'feature'. Change 33983 on 2006/07/27 ENH:solidDB for MySQL:solid.ini is not saved to disk if SS_MYSQL is defined. Change 33981 on 2006/07/27 ENH: Version 0022: Added a new dynamically configurable variable soliddb_filespec. You can now issue set global soliddb_filespec='index_file_name size'; from mysql client. Change 33971 on 2006/07/26 DOC: Add --no-defaults to mysql_install_db script. Change 33968 on 2006/07/26 FIX: Fix test results. Change 33967 on 2006/07/26 FIX:su_param_xxx is not used when reading configuration parameters. su_param_manager did not use always same inifile where soliddb_ -values are put from my.cnf (my.ini). Change 33966 on 2006/07/26 DOC: Add release number. Change 33964 on 2006/07/26 FIX: Fix filespec handling and update the document to reflect the changes. Update MySQL/solidDB config files to reflect the changes. Change 33963 on 2006/07/26 FIX: DBSE 6.0: fixed a typo. Change 33962 on 2006/07/26 DOC: Add new MySQL/solidDB configuration parameters to documentation. Change 33959 on 2006/07/26 ENH: Remove soliddb from MySQL config files and add a new soliddb config file. Change 33956 on 2006/07/26 ENH:ss_debug_nocardinalcheck = TRUE by default if SS_MYSQL is defined. Release 0020 ------------ This is the initial version.