summaryrefslogtreecommitdiff
path: root/innobase
Commit message (Collapse)AuthorAgeFilesLines
* Manual merge (again)unknown2005-05-141-2/+10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | configure.in: Auto merged include/mysql.h: Auto merged innobase/row/row0mysql.c: Auto merged BitKeeper/deleted/.del-ctype-cp932.c: Auto merged BitKeeper/deleted/.del-errmsg.txt~4617575065d612b9: Auto merged BitKeeper/deleted/.del-errmsg.txt~ffe4a0c9e3206150: Auto merged libmysql/libmysql.c: Auto merged libmysqld/Makefile.am: Auto merged mysql-test/r/ctype_ucs.result: Auto merged mysql-test/t/ctype_ucs.test: Auto merged mysql-test/t/ps_grant.test: Auto merged sql/ha_blackhole.cc: Auto merged strings/ctype-big5.c: Auto merged strings/ctype-ucs2.c: Auto merged
| * row0mysql.c:unknown2005-05-131-2/+10
| | | | | | | | | | | | | | | | InnoDB wrongly complained in the .err log that MySQL is trying to drop a non-existent table, if tablespace ran out (Bug #10607) innobase/row/row0mysql.c: InnoDB wrongly complained in the .err log that MySQL is trying to drop a non-existent table, if tablespace ran out (Bug #10607)
* | After merge fixunknown2005-05-061-0/+3
| | | | | | | | | | innobase/include/srv0srv.h: Restore accidentally deleted comment.
* | Mergeunknown2005-05-064-22/+61
|\ \ | |/
| * Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2005-05-064-20/+61
| |\ | | | | | | | | | | | | | | | | | | | | | into hundin.mysql.fi:/home/marko/mysql-4.1 sql/ha_innodb.cc: Auto merged
| | * InnoDB: Truncate SHOW INNODB STATUS output at the start of the listunknown2005-04-194-20/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of active transactions, if necessary and possible. (Bug #5436) innobase/include/lock0lock.h: Split lock_print_info() into lock_print_info_summary() and lock_print_info_all_transactions(). innobase/lock/lock0lock.c: Split lock_print_info() into lock_print_info_summary() and lock_print_info_all_transactions(). innobase/include/srv0srv.h: srv_printf_innodb_monitor(): Add output parameters trx_start and trx_end. innobase/srv/srv0srv.c: srv_printf_innodb_monitor(): Add output parameters trx_start and trx_end. sql/ha_innodb.cc: innodb_show_status(): Truncate oversized output at the beginning of the list of active transactions, if possible.
* | | Merge hundin.mysql.fi:/home/heikki/mysql-4.1unknown2005-04-273-1/+27
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into hundin.mysql.fi:/home/heikki/mysql-5.0 innobase/dict/dict0dict.c: Auto merged innobase/fil/fil0fil.c: Auto merged innobase/include/dict0dict.h: Auto merged
| * | dict0dict.c, dict0dict.h, fil0fil.c:unknown2005-04-273-1/+27
| |/ | | | | | | | | | | | | | | | | | | | | | | Fix a problem in crash recovery of .ibd files on Windows if the user used lower_case_table_names=0 or 2; the directory scan in crash recovery forgot to put all paths to lower case, so that the tablespace name would be consistent with the internal data dictionary of InnoDB; remember that InnoDB puts internally all database names and table names to lower case on Windows, regardless of the value of lower_case_table_names innobase/fil/fil0fil.c: Fix a problem in crash recovery of .ibd files on Windows if the user used lower_case_table_names=0 or 2; the directory scan in crash recovery forgot to put all paths to lower case, so that the tablespace name would be consistent with the internal data dictionary of InnoDB; remember that InnoDB puts internally all database names and table names to lower case on Windows, regardless of the value of lower_case_table_names innobase/include/dict0dict.h: Fix a problem in crash recovery of .ibd files on Windows if the user used lower_case_table_names=0 or 2; the directory scan in crash recovery forgot to put all paths to lower case, so that the tablespace name would be consistent with the internal data dictionary of InnoDB; remember that InnoDB puts internally all database names and table names to lower case on Windows, regardless of the value of lower_case_table_names innobase/dict/dict0dict.c: Fix a problem in crash recovery of .ibd files on Windows if the user used lower_case_table_names=0 or 2; the directory scan in crash recovery forgot to put all paths to lower case, so that the tablespace name would be consistent with the internal data dictionary of InnoDB; remember that InnoDB puts internally all database names and table names to lower case on Windows, regardless of the value of lower_case_table_names
| * Fixed a bug: deadlock without any locking, simple select and update (Bug #7975).unknown2005-04-181-18/+23
| | | | | | | | | | | | | | | | | | | | | | | | Backported from 5.0.3. innobase/row/row0ins.c: If the SQL-query will update or replace duplicate records we take X-lock for duplicate records. sql/ha_innodb.cc: INSERT ON DUPLICATE KEY UPDATE will also update duplicate records and we should take X-lock in this case for duplicate records.
* | Adding --innodb_fast_shutdown=2 which shuts down InnoDB faster than the ↵unknown2005-04-154-20/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | default "1": most InnoDB threads are not terminated properly and the buffer pool is not flushed to disk. Still no committed transaction is lost as we flush the logs to disk. InnoDB does crash recovery at startup after this shutdown. Using this shutdown in testsuite (mysql-test-run --mysqld=--innodb_fast_shutdown=2) saved 3 minutes (13% of total time). innobase/include/srv0srv.h: srv_fast_shutdown now int to allow 3 values, replacing the srv_fast_shutdown/srv_very_fast_shutdown combo innobase/log/log0log.c: srv_very_fast_shutdown -> (srv_fast_shutdown == 2) innobase/srv/srv0srv.c: srv_very_fast_shutdown -> (srv_fast_shutdown == 2) innobase/srv/srv0start.c: moving message to the InnoDB internal code (like "InnoDB: Starting shutdown" is) instead of ha_innodb.cc. That's to have ut_print_timestamp(). sql/ha_innodb.cc: As innodb_fast_shutdown is now settable, srv_fast_shutdown must be set at shutdown, not at startup. sql/ha_innodb.h: innobase_fast_shutdown now ulong to accept 3 values sql/mysqld.cc: Making the "very fast" InnoDB shutdown accessible to users, by passing --innodb-fast-shutdown=2 (disabled on Netware) sql/set_var.cc: innodb_fast_shutdown now settable on the fly (global variable). So that user can decide to do a normal/fast/fastest shutdown just before doing it.
* | Merge hundin.mysql.fi:/home/heikki/mysql-4.1unknown2005-04-141-19/+51
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | into hundin.mysql.fi:/home/heikki/mysql-5.0 innobase/fil/fil0fil.c: Auto merged ndb/src/kernel/blocks/dblqh/DblqhMain.cpp: Auto merged ndb/src/ndbapi/ndberror.c: Auto merged
| * fil0fil.c:unknown2005-04-141-19/+51
| | | | | | | | | | | | | | | | Add fault tolerance in the scan of .ibd files at a crash recovery; formerly a single failure of readdir_get_next caused the rest of the directory to be skipped innobase/fil/fil0fil.c: Add fault tolerance in the scan of .ibd files at a crash recovery; formerly a single failure of readdir_get_next caused the rest of the directory to be skipped
* | Merge from 4.1unknown2005-04-132-13/+14
|\ \ | |/ | | | | | | | | | | | | | | | | | | innobase/fil/fil0fil.c: Auto merged innobase/row/row0sel.c: Auto merged mysql-test/Makefile.am: Auto merged mysql-test/t/ctype_ucs_binlog.test: Auto merged
| * fil0fil.c:unknown2005-04-131-1/+2
| | | | | | | | | | | | | | | | At the shutdown, write the latest lsn only to the first pages of the ibdata files of the system tablespace, NOT to the .ibd files; writing to tens of thousands .ibd files can take minutes innobase/fil/fil0fil.c: At the shutdown, write the latest lsn only to the first pages of the ibdata files of the system tablespace, NOT to the .ibd files; writing to tens of thousands .ibd files can take minutes
| * row0sel.c:unknown2005-04-131-12/+12
| | | | | | | | | | | | | | | | Do not test the value of err if the lock operation was skipped because innodb_logs_unsafe_for_binlog was TRUE; though this did not cause any bugs visible to the user, because err is inited to DB_SUCCESS at the start of the function row_search_for_mysql() innobase/row/row0sel.c: Do not test the value of err if the lock operation was skipped because innodb_logs_unsafe_for_binlog was TRUE; though this did not cause any bugs visible to the user, because err is inited to DB_SUCCESS at the start of the function row_search_for_mysql()
* | Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0unknown2005-04-135-18/+30
|\ \ | | | | | | | | | | | | | | | | | | into mysql.com:/usr/local/home/marty/MySQL/mysql-5.0
| * \ Mergeunknown2005-04-135-18/+30
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | innobase/dict/dict0dict.c: Auto merged innobase/dict/dict0load.c: Auto merged innobase/include/dict0dict.h: Auto merged innobase/row/row0mysql.c: Auto merged myisam/mi_check.c: Auto merged myisam/mi_dynrec.c: Auto merged myisam/myisamdef.h: Auto merged mysql-test/r/kill.result: Auto merged mysql-test/t/kill.test: Auto merged ndb/src/kernel/blocks/dbdih/DbdihMain.cpp: Auto merged ndb/src/kernel/main.cpp: Auto merged ndb/src/mgmsrv/MgmtSrvr.hpp: Auto merged sql/ha_innodb.cc: Auto merged sql/mysqld.cc: Auto merged
| | * InnoDB: Ignore character set mismatch in ALTER TABLE and RENAME TABLEunknown2005-04-125-18/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | if foreign_key_checks=0. (Bug #9802) innobase/dict/dict0dict.c: dict_foreign_add_to_cache(): Add flag check_types. If the flag is FALSE, ignore character set mismatch. innobase/dict/dict0load.c: dict_load_foreign(), dict_load_foreigns(): Add flag check_types. If the flag is FALSE, differences in character sets will be ignored. innobase/include/dict0dict.h: dict_foreign_add_to_cache(): Add flag check_types. If the flag is FALSE, differences in character sets will be ignored. innobase/include/dict0load.h: dict_load_foreigns(): Add flag check_types. If the flag is FALSE, differences in character sets will be ignored. innobase/row/row0mysql.c: row_table_add_foreign_constraints(), row_rename_table_for_mysql(): Pass trx->check_foreigns to dict_load_foreigns() sql/ha_innodb.cc: ha_innobase::rename_table(): Clear trx->check_foreign if necessary.
* | | row0sel.c:unknown2005-04-131-10/+17
| | | | | | | | | | | | | | | | | | | | | | | | Fix the patch of Jan to optimize next-key locking in searches of type 'primary key >= some value' innobase/row/row0sel.c: Fix the patch of Jan to optimize next-key locking in searches of type 'primary key >= some value'
* | | Fixed a bug where next-key locking doesn't allow the insert which does unknown2005-04-131-0/+14
|/ / | | | | | | | | | | | | not produce phantom (bug #9354).
* | manually mergedunknown2005-04-067-5/+57
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Gluh's SESSION/GLOBAL for @variables fix in sql_yacc.yy and Bar's well_formed_len() changes in ndb code did not make it and should be re-applied manually BitKeeper/etc/logging_ok: auto-union include/m_ctype.h: Auto merged innobase/btr/btr0pcur.c: Auto merged innobase/include/btr0pcur.h: Auto merged innobase/include/os0file.h: Auto merged innobase/os/os0file.c: Auto merged innobase/row/row0sel.c: Auto merged innobase/srv/srv0start.c: Auto merged mysql-test/r/user_var.result: Auto merged mysql-test/t/user_var.test: Auto merged ndb/include/ndbapi/NdbTransaction.hpp: Auto merged ndb/src/ndbapi/NdbTransaction.cpp: Auto merged ndb/tools/desc.cpp: Auto merged strings/ctype-big5.c: Auto merged strings/ctype-mb.c: Auto merged strings/ctype-simple.c: Auto merged strings/ctype-sjis.c: Auto merged strings/ctype-ucs2.c: Auto merged strings/ctype-ujis.c: Auto merged BitKeeper/deleted/.del-NdbResultSet.cpp~84d192cf3f42600d: ul ndb/include/ndbapi/NdbScanOperation.hpp: ul ndb/src/ndbapi/NdbIndexOperation.cpp: ul ndb/src/ndbapi/NdbOperationDefine.cpp: ul ndb/src/ndbapi/NdbOperationSearch.cpp: ul ndb/src/ndbapi/NdbScanOperation.cpp: ul sql/field.cc: manually merged, because bk messed it up sql/sql_yacc.yy: merged
| * InnoDB: Avoid test suite failures caused by a locking conflictunknown2005-04-063-4/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | between two server instances at server shutdown/startup. This conflict on advisory locks appears to be the result of a bug in the operating system; these locks should be released when the files are closed, but somehow that does not always happen immediately in Linux. (Bug #9381) innobase/include/os0file.h: Add OS_FILE_OPEN_RETRY for os_file_create()ing ibdata1 innobase/os/os0file.c: os_file_lock(): Do not close the file on failure, but let the callers do that. os_file_create(): If create_mode==OS_FILE_OPEN_RETRY and os_file_lock() fails, keep retrying for 100 seconds. innobase/srv/srv0start.c: open_or_create_data_files(): Open the first data file with OS_FILE_OPEN_RETRY, to resolve a conflict with a shutting-down instance of the MySQL server.
| * row0sel.c, btr0pcur.c, btr0pcur.ic, btr0pcur.h:unknown2005-04-064-1/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add diagnostic code to track assertion failure in ut_a(cursor->old_stored == BTR_PCUR_OLD_STORED); the failure happened in OPTIMIZE TABLE, and in 4.0.24 in some other context innobase/include/btr0pcur.h: Add diagnostic code to track assertion failure in ut_a(cursor->old_stored == BTR_PCUR_OLD_STORED); the failure happened in OPTIMIZE TABLE, and in 4.0.24 in some other context innobase/include/btr0pcur.ic: Add diagnostic code to track assertion failure in ut_a(cursor->old_stored == BTR_PCUR_OLD_STORED); the failure happened in OPTIMIZE TABLE, and in 4.0.24 in some other context innobase/btr/btr0pcur.c: Add diagnostic code to track assertion failure in ut_a(cursor->old_stored == BTR_PCUR_OLD_STORED); the failure happened in OPTIMIZE TABLE, and in 4.0.24 in some other context innobase/row/row0sel.c: Add diagnostic code to track assertion failure in ut_a(cursor->old_stored == BTR_PCUR_OLD_STORED); the failure happened in OPTIMIZE TABLE, and in 4.0.24 in some other context
* | Merge mysql.com:/M41/upward-4.1 into mysql.com:/M50/merge-5.0unknown2005-04-061-0/+3
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BitKeeper/deleted/.del-create.c~96cecc433c0c2242: Auto merged BitKeeper/deleted/.del-errmsg.txt~f96b7055cac394e: Auto merged configure.in: Auto merged BitKeeper/deleted/.del-mrg_create.c~b747c8ec2b801f6: Auto merged include/my_global.h: Auto merged innobase/dict/dict0dict.c: Auto merged myisam/mi_create.c: Auto merged scripts/mysql_create_system_tables.sh: Auto merged sql/ha_myisam.cc: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/sql_udf.cc: Auto merged sql/table.cc: Auto merged support-files/mysql.spec.sh: Auto merged
| * dict0dict.c:unknown2005-04-051-0/+3
| | | | | | | | | | | | | | | | Add a note that ENUM in new tables cannot reference ENUM in old tables, in FOREIGN KEY constraints innobase/dict/dict0dict.c: Add a note that ENUM in new tables cannot reference ENUM in old tables, in FOREIGN KEY constraints
* | InnoDB: Disable an assertion that fails on old data due to Bug #9526unknown2005-04-051-1/+3
| | | | | | | | | | innobase/row/row0sel.c: Disable an assertion that fails for old UTF-8 ENUM columns (Bug #9526)
* | ha_innodb.cc, row0sel.c:unknown2005-04-041-2/+6
| | | | | | | | | | | | | | | | | | | | Fix Bug #9526 in 5.0: MySQL ENUM and SET columns are internally actually unsigned integer types; we must take care that old tables still treat ENUM and SET (incorrectly) as a character string, while new created tables treat it correctly as an unsigned integer innobase/row/row0sel.c: Fix Bug #9526 in 5.0: MySQL ENUM and SET columns are internally actually unsigned integer types; we must take care that old tables still treat ENUM and SET (incorrectly) as a character string, while new created tables treat it correctly as an unsigned integer sql/ha_innodb.cc: Fix Bug #9526 in 5.0: MySQL ENUM and SET columns are internally actually unsigned integer types; we must take care that old tables still treat ENUM and SET (incorrectly) as a character string, while new created tables treat it correctly as an unsigned integer
* | Merge bk-internal:/home/bk/mysql-5.0unknown2005-03-222-1/+15
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into serg.mylan:/usr/home/serg/Abk/mysql-5.0 innobase/include/trx0trx.h: Auto merged sql/ha_innodb.cc: Auto merged sql/handler.cc: Auto merged sql/item.cc: Auto merged sql/log_event.cc: Auto merged sql/mysql_priv.h: Auto merged
| * \ Merge hundin.mysql.fi:/home/heikki/mysql-4.1unknown2005-03-212-1/+15
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into hundin.mysql.fi:/home/heikki/mysql-5.0 BitKeeper/etc/logging_ok: auto-union include/config-netware.h: Auto merged innobase/include/trx0trx.h: Auto merged innobase/trx/trx0trx.c: Auto merged
| | * trx0trx.c:unknown2005-03-211-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | If MySQL wrote to its binlog, but for some reason trx->update_undo and trx->insert_undo were NULL in InnoDB, then trx->commit_lsn was garbage, and InnoDB could assert in the log flush of trx_commit_complete_for_mysql() (Bug #9277) innobase/trx/trx0trx.c: If MySQL wrote to its binlog, but for some reason trx->update_undo and trx->insert_undo were NULL in InnoDB, then trx->commit_lsn was garbage, and InnoDB could assert in the log flush of trx_commit_complete_for_mysql() (Bug #9277)
| | * Mergeunknown2005-03-211-0/+6
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BitKeeper/etc/logging_ok: auto-union innobase/include/trx0trx.h: Auto merged innobase/trx/trx0trx.c: SCCS merged
| | | * trx0trx.c, trx0trx.h:unknown2005-03-212-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If MySQL wrote to its binlog, but for some reason trx->update_undo and trx->insert_undo were NULL in InnoDB, then trx->commit_lsn was garbage, and InnoDB could assert in the log flush of trx_commit_complete_for_mysql() (Bug #9277) innobase/include/trx0trx.h: If MySQL wrote to its binlog, but for some reason trx->update_undo and trx->insert_undo were NULL in InnoDB, then trx->commit_lsn was garbage, and InnoDB could assert in the log flush of trx_commit_complete_for_mysql() (Bug #9277) innobase/trx/trx0trx.c: If MySQL wrote to its binlog, but for some reason trx->update_undo and trx->insert_undo were NULL in InnoDB, then trx->commit_lsn was garbage, and InnoDB could assert in the log flush of trx_commit_complete_for_mysql() (Bug #9277)
* | | | Merge bk-internal:/home/bk/mysql-5.0unknown2005-03-181-2/+3
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into serg.mylan:/usr/home/serg/Abk/mysql-5.0 libmysql/libmysql.c: Auto merged sql/log_event.cc: Auto merged sql/sql_parse.cc: Auto merged
| * | | Automergeunknown2005-03-171-2/+3
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sql/sql_parse.cc: Auto merged sql/handler.cc: SCCS merged sql/mysql_priv.h: SCCS merged
| | * \ \ mergedunknown2005-03-161-2/+3
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sql/ha_innodb.cc: Auto merged sql/mysql_priv.h: Auto merged sql/sql_parse.cc: Auto merged
| | | * | | sql/ha_innodb.ccunknown2005-03-161-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | protect prepare-...-commit with a mutex to ensure that commits in binlog and in the innodb have the same order store binlog position with the commit innobase/include/trx0trx.h: comment modified sql/ha_innodb.cc: protect prepare-...-commit with a mutex to ensure that commits in binlog and in the innodb have the same order store binlog position with the commit sql/handler.cc: ha_prepare cannot return -1
* | | | | | data0type.h:unknown2005-03-181-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The missing DATA_BINARY_TYPE in BLOBs created with < 4.0.14 does not cause any harm, because there were no indexes on such BLOBs innobase/include/data0type.h: The missing DATA_BINARY_TYPE in BLOBs created with < 4.0.14 does not cause any harm, because there were no indexes on such BLOBs
* | | | | | data0type.ic:unknown2005-03-181-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the sorting order of TEXT columns in InnoDB: pad with spaces at the end in comparisons; we MUST UPDATE the MySQL MANUAL to warn about the need to rebuild tables (also MyISAM) in certain cases in an upgrade to 5.0.3; TODO: study what complications the missing DATA_BINARY_TYPE flag in InnoDB < 4.0.14 causes: we would compare then also BLOBs with space padding, not just TEXT innobase/include/data0type.ic: Change the sorting order of TEXT columns in InnoDB: pad with spaces at the end in comparisons; we MUST UPDATE the MySQL MANUAL to warn about the need to rebuild tables (also MyISAM) in certain cases in an upgrade to 5.0.3; TODO: study what complications the missing DATA_BINARY_TYPE flag in InnoDB < 4.0.14 causes: we would compare then also BLOBs with space padding, not just TEXT
* | | | | | data0type.ic:unknown2005-03-171-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert the change to the space padding of BLOB and TEXT in comparisons; we cannot change the sorting order, because that would make old tables to appear corrupt; better to change LIKE 'a%' processing in MySQL, so that the lower end of the search interval would be 'a', not 'a ' innobase/include/data0type.ic: Revert the change to the space padding of BLOB and TEXT in comparisons; we cannot change the sorting order, because that would make old tables to appear corrupt; better to change LIKE 'a%' processing in MySQL, so that the lower end of the search interval would be 'a', not 'a '
* | | | | | data0type.ic:unknown2005-03-171-1/+2
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix that 'a' LIKE 'a%' was not true for an InnoDB BLOB or TEXT type column prefix index search: InnoDB assumed that the BLOB and TEXT should not be padded with space in comparisons; this bug is also in 4.1; it may have worked in 4.1 because MySQL may have asked there for strings >= 'a', while in 5.0 it asks for strings >= 'a ' innobase/include/data0type.ic: Fix that 'a' LIKE 'a%' was not true for an InnoDB BLOB or TEXT type column prefix index search: InnoDB assumed that the BLOB and TEXT should not be padded with space in comparisons; this bug is also in 4.1; it may have worked in 4.1 because MySQL may have asked there for strings >= 'a', while in 5.0 it asks for strings >= 'a '
* | | | | data0data.c:unknown2005-03-161-3/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow also long VARCHARs to be stored externally, not just BLOBs; fixes a bug reported by Trudy Pelzer; needs more testing innobase/data/data0data.c: Allow also long VARCHARs to be stored externally, not just BLOBs; fixes a bug reported by Trudy Pelzer; needs more testing
* | | | data0type.h, row0sel.c:unknown2005-03-162-14/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a crash in a simple search with a key: the dtype->len of a true VARCHAR is the payload maximum len in bytes: it does not include the 2 bytes MySQL uses to store the string length ha_innodb.cc: Fix a crash in true VARCHARs in test-innodb: we passed a wrong pointer to the column conversion in an UPDATE rowid_order_innodb.result, ps_3innodb.result, innodb.result, endspace.result: Edit InnoDB test results to reflect the arrival of true VARCHARs mysql-test/r/endspace.result: Edit InnoDB test results to reflect the arrival of true VARCHARs mysql-test/r/innodb.result: Edit InnoDB test results to reflect the arrival of true VARCHARs mysql-test/r/ps_3innodb.result: Edit InnoDB test results to reflect the arrival of true VARCHARs mysql-test/r/rowid_order_innodb.result: Edit InnoDB test results to reflect the arrival of true VARCHARs sql/ha_innodb.cc: Fix a crash in true VARCHARs in test-innodb: we passed a wrong pointer to the column conversion in an UPDATE innobase/row/row0sel.c: Fix a crash in a simple search with a key: the dtype->len of a true VARCHAR is the payload maximum len in bytes: it does not include the 2 bytes MySQL uses to store the string length innobase/include/data0type.h: Fix a crash in a simple search with a key: the dtype->len of a true VARCHAR is the payload maximum len in bytes: it does not include the 2 bytes MySQL uses to store the string length
* | | | DATA_MYSQL_TRUE_VARCHAR can be DATA_VARCHAR, DATA_BINARY, or unknown2005-03-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DATA_VARMYSQL so remove unnecessary condition.
* | | | Fixed a core dump bug after VARCHAR push in InnoDB.unknown2005-03-161-4/+10
| | | |
* | | | Many files:unknown2005-03-169-271/+403
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | InnoDB true VARCHAR sql/ha_innodb.h: InnoDB true VARCHAR sql/ha_innodb.cc: InnoDB true VARCHAR innobase/include/data0type.h: InnoDB true VARCHAR innobase/include/que0que.h: InnoDB true VARCHAR innobase/include/row0mysql.h: InnoDB true VARCHAR innobase/include/data0type.ic: InnoDB true VARCHAR innobase/include/row0mysql.ic: InnoDB true VARCHAR innobase/row/row0ins.c: InnoDB true VARCHAR innobase/row/row0mysql.c: InnoDB true VARCHAR innobase/row/row0sel.c: InnoDB true VARCHAR innobase/trx/trx0trx.c: InnoDB true VARCHAR
* | | dict0load.c:unknown2005-03-151-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dict_load_table(): Remove unused label that was accidentally introduced in a 4.0->4.1->5.0 merge. innobase/dict/dict0load.c: dict_load_table(): Remove unused label that was accidentally introduced in a 4.0->4.1->5.0 merge.
* | | After merge fixesunknown2005-03-152-2/+10
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | BitKeeper/etc/logging_ok: auto-union innobase/buf/buf0flu.c: Manual merge innobase/dict/dict0load.c: Manual merge: do not refuse to open ROW_FORMAT=COMPACT tables
| * | Merge hundin.mysql.fi:/home/marko/k/mysql-4.0unknown2005-03-151-1/+8
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | into hundin.mysql.fi:/home/marko/mysql-4.1 innobase/dict/dict0load.c: SCCS merged
| | * dict0load.c:unknown2005-03-141-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dict_load_table(): Refuse to open ROW_FORMAT=COMPACT tables of MySQL 5.0.3 and later. innobase/dict/dict0load.c: dict_load_table(): Refuse to open ROW_FORMAT=COMPACT tables of MySQL 5.0.3 and later.
| * | buf0flu.c:unknown2005-03-151-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | Add diagnostics to track why ut_a(block->state == BUF_BLOCK_FILE_PAGE) failed in buf_flush_ready_for_replace() for a user innobase/buf/buf0flu.c: Add diagnostics to track why ut_a(block->state == BUF_BLOCK_FILE_PAGE) failed in buf_flush_ready_for_replace() for a user