summaryrefslogtreecommitdiff
path: root/mysql-test/r/repair.result
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-17153 server crash on repair table ... use_frmSergei Golubchik2020-05-271-0/+21
| | | | | | | data_file_length == 0 in mi_repair() is normal for REPAIR ... USE_FRM. But in-file links (for blocks and deleted chain) must be compared with the real file length to avoid spurious "link points outside datafile" warnings and arbitrary block skipping.
* Updated mtr files to support different compiled in optionsMonty2019-09-011-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows one to run the test suite even if any of the following options are changed: - character-set-server - collation-server - join-cache-level - log-basename - max-allowed-packet - optimizer-switch - query-cache-size and query-cache-type - skip-name-resolve - table-definition-cache - table-open-cache - Some innodb options etc Changes: - Don't print out the value of system variables as one can't depend on them to being constants. - Don't set global variables to 'default' as the default may not be the same as the test was started with if there was an additional option file. Instead save original value and reset it at end of test. - Test that depends on the latin1 character set should include default_charset.inc or set the character set to latin1 - Test that depends on the original optimizer switch, should include default_optimizer_switch.inc - Test that depends on the value of a specific system variable should set it in the test (like optimizer_use_condition_selectivity) - Split subselect3.test into subselect3.test and subselect3.inc to make it easier to set and reset system variables. - Added .opt files for test that required specfic options that could be changed by external configuration files. - Fixed result files in rockdsb & tokudb that had not been updated for a while.
* Merge branch 'github/10.0' into 10.1Sergei Golubchik2018-02-021-1/+16
|\
| * MDEV-11539 test_if_reopen: Assertion ↵Sergei Golubchik2018-01-251-1/+16
| | | | | | | | | | | | | | | | | | `strcmp(share->unique_file_name,filename) || share->last_version' failed upon select from I_S remove HA_EXTRA_PREPARE_FOR_RENAME - neither OPTIMIZE nor REPAIR need it (was introduced in b58e79566c5 when replacing remove_table_from_cache() with wait_while_table_is_used() even though remove_table_from_cache() did not have it).
* | generalize ER_TABLE_NEEDS_UPGRADE to work for views tooSergei Golubchik2015-06-011-1/+1
|/
* Merge branch '5.5' into 10.0Sergei Golubchik2015-05-081-0/+7
|\
| * MDEV-8115 mysql_upgrade crashes the server with REPAIR VIEWSergei Golubchik2015-05-071-0/+7
| | | | | | | | | | | | | | | | on REPAIR don't do table-specific stuff for views (because even if the view has a temp table opened for it, it's not opened all the way down the engine. In particular, Aria crashes in maria_status() because MARIA_HA* info - that is table->table->file->file - is NULL)
* | 10.0-base mergeSergei Golubchik2014-02-031-5/+29
|\ \
| * \ 5.5 mergeSergei Golubchik2014-02-011-5/+29
| |\ \ |/ / / | | _
| * Fix for MDEV-5547: Bad error message when moving very old .frm files to ↵Michael Widenius2014-01-221-5/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MariaDB 5.5. mysql_upgrade --help now also prints out --default options and variable values. mysql_upgrade now prints permission errors. mysql_upgrade doesn't print some non essential info if --silent is used. Added handler error message about incompatible versions Fixed that mysqlbug and mysql_install_db have the executable flag set. Removed executable flag for some non executable files. Changed in mysql_install_db askmonty.org to mariadb.com. Ensured that all client executables prints --default options the same way. Allow REPAIR ... USE_FRM for old .frm files if the are still compatible. Extended shown error for storage engine messages. client/mysql.cc: print_defaults() should be first (as in all other programs) client/mysql_upgrade.c: --help now also prints out --default options and variable values Print out error if wrong permissions Don't print info if --silent client/mysqladmin.cc: print_defaults() should be first (as in all other programs) client/mysqlbinlog.cc: Added print_defaults() to --help client/mysqlcheck.c: Added empty line in --help client/mysqlimport.c: Added empty line in --help client/mysqlshow.c: Made --help compatible client/mysqlslap.c: Made --help compatible client/mysqltest.cc: Added print_defaults() to --help include/handler_ername.h: Added handler error message include/my_base.h: Added handler error message mysql-test/r/mysql_upgrade.result: Updated results mysql-test/r/repair.result: Added test case for better error messages mysql-test/std_data/host_old.MYD: Added test case for better error messages mysql-test/std_data/host_old.MYI: Added test case for better error messages mysql-test/std_data/host_old.frm: Added test case for better error messages mysql-test/t/repair.test: Added test case for better error messages mysys/my_handler_errors.h: Added handler error message scripts/CMakeLists.txt: Fixed that mysqlbug and mysql_install_db have the executable flag set scripts/mysql_install_db.sh: askmonty.org -> mariadb.com sql/ha_partition.cc: Sometimes table_type() can be called for errors even if partition didn't manage to open any files sql/handler.cc: Write clear text for not handled, but defined error messages. sql/share/errmsg-utf8.txt: Extended shown error for storage engine messages sql/sql_admin.cc: Allow REPAIR ... USE_FRM for old .frm files if the are still compatible storage/myisam/ha_myisam.cc: Use new error message
* | Added some fixes that should make MyISAM & Aria REPAIR work with more than ↵Michael Widenius2013-05-101-2/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4G records - If one specifies --force twice to myisamchk and aria_chk, then we will try to finnish the repair even if sort_buffer would be too small. This was done by dynamically allocate buffer handler objects as long as memory lasts. - New option for myisamchk and aria_chk: create-missing-keys - Changed default size of myisam_sort_buffer_size from 8M to 128M. - Changed default size of sort_buffer_size in aria_chk from 128M to 256M. - Increased information in error message about 'sort_buffer_size' beeing to small. - Print also to 'show warnings' if repair was retried. - Increased size of internal sort-buffer-readers from 16K to 128K - Changed printing of 'number of records' to use %ll instead of casting to long - Changed buffer sizes for myisam and aria to use MY_ALIGN_DOWN() to get same number of bytes allocated on different machines. include/my_global.h: Added MY_ALIGN_DOWN() to get previous alignment (for big memory areas) include/myisam.h: Increased size of types to be able to handle more records include/myisamchk.h: Increased size of types to be able to handle more records Added T_FORCE_SORT_MEMORY to force repair to work even if sort_buffer would not be big enough mysql-test/r/myisam.result: Updated result mysql-test/r/mysqld--help.result: Updated result mysql-test/r/repair.result: Updated result mysql-test/suite/maria/maria.result: Added test cases for some fixed bugs in MyISAM to verify that Aria doesn't have them too. mysql-test/suite/maria/maria.test: Added test cases for some fixed bugs in MyISAM to verify that Aria doesn't have them too. mysql-test/suite/maria/maria3.result: Updated result after sort buffer size increase mysql-test/suite/sys_vars/r/aria_sort_buffer_size_basic.result: Updated result after sort buffer size increase mysql-test/suite/sys_vars/r/myisam_sort_buffer_size_basic.result: Updated result after sort buffer size increase mysql-test/suite/sys_vars/t/myisam_sort_buffer_size_basic.test: Updated result after sort buffer size increase mysql-test/t/myisam.test: Fixed error messages to not print system specific data mysql-test/t/repair.test: Fixed error messages to not print system specific data storage/maria/ha_maria.cc: Print also to 'show warnings' if repair was retried Changed default size of sort_buffer_size from 128M to 256M (same as in mysqld) storage/maria/ma_check.c: Renamed USE_BUFFER_INIT -> PAGE_BUFFER_INIT storage/maria/ma_sort.c: Increased size of internal sort-buffer-readers from 16K to 128K Increased size of types to be able to handle more records Added support for T_FORCE_SORT_MEMORY Don't allocate too many extra BUFFPEK at a time (they are probably not needed) Improved error message for "sort_buffer_size is too small" Changed printing of 'number of records' to use %ll instead of casting to long Fixed bug where maria_update_key_parts() was called too early. Fixed bug in detecting result from read_to_buffer(). Added 'out of memory' checking when calling 'alloc_dynamic()'. storage/maria/maria_chk.c: Added --create-missing-keys If one specifies --force twice then we will try to finnish the repair even if sort_buffer would be too small. check_param.sort_buffer_length varialble was used with wrong type. storage/maria/maria_def.h: Increased size of types to be able to handle more records Use MY_ALIGN_DOWN() to get same number of bytes allocated on different machines Renamed USE_BUFFER_INIT -> PAGE_BUFFER_INIT storage/maria/maria_ftdump.c: Renamed USE_BUFFER_INIT -> PAGE_BUFFER_INIT storage/maria/maria_read_log.c: Use PAGE_BUFFER_INIT for page cache storage/myisam/ha_myisam.cc: Changed default size of myisam_sort_buffer_size from 8M to 128M storage/myisam/mi_check.c: Renamed USE_BUFFER_INIT -> KEY_BUFFER_INIT storage/myisam/myisam_ftdump.c: Renamed USE_BUFFER_INIT -> KEY_BUFFER_INIT storage/myisam/myisamchk.c: Added --create-missing-keys If one specifies --force twice then we will try to finnish the repair even if sort_buffer would be too small. check_param.sort_buffer_length varialble was used with wrong type. Renamed USE_BUFFER_INIT -> KEY_BUFFER_INIT storage/myisam/myisamdef.h: Increased SORT_BUFFER_INIT to 64M (speeds up repair a lot and most machines have nowadays a lot of memory) Use MY_ALIGN_DOWN() to get same number of bytes allocated on different machines Renamed USE_BUFFER_INIT -> KEY_BUFFER_INIT storage/myisam/sort.c: Increased size of internal sort-buffer-readers from 16K to 128K Increased size of types to be able to handle more records Added support for T_FORCE_SORT_MEMORY Don't allocate too many extra BUFFPEK at a time (they are probably not needed) Improved error message for "sort_buffer_size is too small" Changed printing of 'number of records' to use %ll instead of casting to long Fixed bug in detecting result from read_to_buffer(). Added 'out of memory' checking when calling 'alloc_dynamic()'.
* Patch for WL#3736: Extended Table, Column and Index Comments.Alexander Nozdrin2010-02-201-8/+8
| | | | | | | | The task is to (a) add a comment on indexes and (b) increase the maximum length of column, table and the new index comments. The patch committed on behalf of Yoshinori Matsunobu (Yoshinori.Matsunobu@Sun.COM).
* Fix for bug #50784 "MDL: Assertion `m_tickets.is_empty() ||Dmitry Lenev2010-02-031-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | m_tickets.front() == m_trans_sentinel'". Debug build of server crashed due to assert failure in MDL subsystem when one tried to execute multi-table REPAIR or OPTIMIZE in autocommit=0 mode. The assert failure occured when multi-table REPAIR or OPTIMIZE started processing of second table from its table list and tried to acquire upgradable metadata lock on this table. The cause of the assert failure were MDL locks left over from processing of previous table. It turned out that in autocommit=0 mode close_thread_tables() which happens at the end of table processing doesn't release metadata locks. This fix solves problem by releasing locks explicitly using MDL_context::release_trans_locks() call. mysql-test/r/repair.result: Added test for bug #50784 "MDL: Assertion `m_tickets.is_empty() || m_tickets.front() == m_trans_sentinel'". mysql-test/t/repair.test: Added test for bug #50784 "MDL: Assertion `m_tickets.is_empty() || m_tickets.front() == m_trans_sentinel'". sql/sql_table.cc: Ensure that metadata locks are released after multi-table REPAIR/ OPTIMIZE/... processes each table. close_thread_tables() which is called after processing each table doesn't release metadata locks if we are in autocommit=0 mode. So this have to be done explicitly by calling MDL_context::release_trans_locks().
* Backport of revno: 3702Jon Olav Hauglid2009-12-091-0/+12
| | | | | | | | | | | | | | | | | | | | | | Bug #48248 assert in MDL_ticket::upgrade_shared_lock_to_exclusive The assert would happen if REPAIR TABLE was used on a table already locked by LOCK TABLES READ. REPAIR mistakenly tried to upgrade the read-lock to exclusive, thereby triggering the assert. The cause of the problem was that REPAIR TABLE ignored errors from opening and locking tables. This is by design, as REPAIR can be used to broken tables that cannot be opened. However, repair also ignored logical errors such as the inability to exclusivly lock a table due to conflicting LOCK TABLES. This patch fixes the problem by not ignoring errors from opening and locking tables if inside LOCK TABLES mode. In LOCK TABLES we already know that the table can be opened, so that the failure to open must be a logical error. Test added to repair.test.
* Bug #42563: Message tells me to repair table though StorageGleb Shchepa2009-04-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Engine doesn't allow me to. In case of incompatible changes between old and new table versions, the mysqlcheck program prints error messages like this: error: Table upgrade required. Please do "REPAIR TABLE `table_name`" to fix it! However, InnoDB doesn't support REPAIR TABLE query, so the message is confusing. Error message text has been changed to: Table upgrade required. Please do "REPAIR TABLE `table_name`" or dump/reload to fix it!" mysql-test/r/repair.result: Updated test case for bug #42563. mysql-test/r/varbinary.result: Updated test case for bug #42563. sql/share/errmsg.txt: Bug #42563: Message tells me to repair table though Storage Engine doesn't allow me to. The ER_TABLE_NEEDS_UPGRADE error message has been changed to: Table upgrade required. Please do "REPAIR TABLE ``%-.32s`" or dump/reload to fix it!"
* Commit for merge and pushStaale Smedseng2009-02-271-1/+1
|\
| * Recommit for merging and pushingStaale Smedseng2009-02-271-1/+1
| |
* | fix typoTimothy Smith2008-06-171-1/+1
| | | | | | | | | | | | This change was committed to the 5.1.25 release clone, but never made it to the mysql-5.1 BK tree. I'm committing it to mysql-5.1 bzr now.
* | Merge host.loc:/work/bugs/5.0-bugteam-36055unknown2008-05-131-0/+36
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | into host.loc:/work/bk/5.1-bugteam sql/handler.cc: Auto merged mysql-test/r/repair.result: Merge with 5.0-bugteam (bug#36055). mysql-test/t/repair.test: Merge with 5.0-bugteam (bug#36055). sql/sql_table.cc: Merge with 5.0-bugteam (bug#36055).
| * Fixed bug #36055: mysql_upgrade doesn't really 'upgrade' tablesunknown2008-05-121-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The REPAIR TABLE ... USE_FRM query silently corrupts data of tables with old .FRM file version. The mysql_upgrade client program or the REPAIR TABLE query (without the USE_FRM clause) can't prevent this trouble, because in the common case they don't upgrade .FRM file to compatible structure. 1. Evaluation of the REPAIR TABLE ... USE_FRM query has been modified to reject such tables with the message: "Failed repairing incompatible .FRM file". 2. REPAIR TABLE query (without USE_FRM clause) evaluation has been modified to upgrade .FRM files to current version. 3. CHECK TABLE ... FOR UPGRADE query evaluation has been modified to return error status when .FRM file has incompatible version. 4. mysql_upgrade and mysqlcheck client programs call CHECK TABLE FOR UPGRADE and REPAIR TABLE queries, so their behaviors have been changed too to upgrade .FRM files with incompatible version numbers. mysql-test/std_data/bug36055.MYD: Added test data for bug #36055. mysql-test/std_data/bug36055.MYI: Added test data for bug #36055. mysql-test/std_data/bug36055.frm: Added test data for bug #36055. mysql-test/r/repair.result: Added test case for bug# 36055. mysql-test/t/repair.test: Added test case for bug# 36055. sql/handler.cc: Fixed bug #36055: mysql_upgrade doesn't really 'upgrade' tables The handler::ha_check_for_upgrade method has been modified to return error if .FRM file has incompatible version number. sql/sql_table.cc: Fixed bug #36055: mysql_upgrade doesn't really 'upgrade' tables The prepare_for_repair function has been modified to reject REPAIR TABLE ... USE_FRM queries on incompatible .FRM files with the message: "Failed repairing incompatible .FRM file".
* | Merge polly.(none):/home/kaa/src/maint/mysql-5.0-maintunknown2007-10-171-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | into polly.(none):/home/kaa/src/maint/mysql-5.1-maint mysql-test/r/repair.result: Auto merged mysql-test/t/repair.test: Auto merged
| * Merge polly.(none):/home/kaa/src/maint/mysql-4.1-maintunknown2007-10-171-1/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | into polly.(none):/home/kaa/src/maint/mysql-5.0-maint mysql-test/r/repair.result: Auto merged mysql-test/t/repair.test: Auto merged
| | * Fixed the test case for bug #31174 to not fail on 64-bit platforms.unknown2007-10-171-1/+1
| | |
* | | Merge polly.(none):/home/kaa/src/maint/mysql-5.0-maintunknown2007-10-161-0/+27
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into polly.(none):/home/kaa/src/maint/mysql-5.1-maint storage/myisam/sort.c: Auto merged mysql-test/r/repair.result: SCCS merged mysql-test/t/repair.test: SCCS merged
| * | Merge polly.(none):/home/kaa/src/maint/mysql-4.1-maintunknown2007-10-161-0/+27
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into polly.(none):/home/kaa/src/maint/mysql-5.0-maint myisam/sort.c: Auto merged mysql-test/r/repair.result: Auto merged mysql-test/t/repair.test: Auto merged
| | * Fix for bug #31174: "Repair" command on MyISAM crashes with smallunknown2007-10-111-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | myisam_sort_buffer_size. An incorrect length of the sort buffer was used when calculating the maximum number of keys. When myisam_sort_buffer_size is small enough, this could result in the number of keys < number of BUFFPEK structures which in turn led to use of uninitialized BUFFPEKs. Fixed by correcting the buffer length calculation. myisam/sort.c: Use a correct buffer length when calculating the maximum number of keys. Assert that for each BUFFPEK structure there is at least one corresponding key. Otherwise we would fail earlier and not reach merge_buffers(). mysql-test/r/repair.result: Added a test case for bug #31174. mysql-test/t/repair.test: Added a test case for bug #31174.
* | | Merge mysql.com:/home/svoj/devel/mysql/BUG26976/mysql-5.0-enginesunknown2007-06-071-6/+4
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/svoj/devel/mysql/BUG26976/mysql-5.1-engines mysql-test/r/key_cache.result: Auto merged mysql-test/r/lock.result: Auto merged mysql-test/r/merge.result: Auto merged mysql-test/r/preload.result: Auto merged mysql-test/r/ps.result: Auto merged mysql-test/r/repair.result: Auto merged mysql-test/r/rpl_failed_optimize.result: Auto merged mysql-test/r/view.result: Auto merged mysql-test/t/merge.test: Auto merged storage/myisammrg/myrg_def.h: Auto merged storage/myisammrg/myrg_open.c: Auto merged mysql-test/r/backup.result: Use local. mysql-test/r/sp.result: Use local. sql/sql_error.cc: Use local. sql/sql_error.h: Use local. sql/share/errmsg.txt: Manual merge. sql/sql_table.cc: Manual merge. storage/myisam/ha_myisam.cc: Manual merge. storage/myisammrg/ha_myisammrg.cc: Manual merge. storage/myisammrg/ha_myisammrg.h: Manual merge.
| * | BUG#26976 - Missing table in merge not noted in related error msg +unknown2007-06-061-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SHOW CREATE TABLE fails Underlying table names, that merge engine fails to open were not reported. With this fix CHECK TABLE issued against merge table reports all underlying table names that it fails to open. Other statements are unaffected, that is underlying table names are not included into error message. This fix doesn't solve SHOW CREATE TABLE issue. myisammrg/myrg_def.h: Added myrg_print_wrong_table declaration. myisammrg/myrg_open.c: If HA_OPEN_FOR_REPAIR is passed to merge engine open function, report names of tables that we fail to open. mysql-test/r/backup.result: Updated test result. mysql-test/r/key_cache.result: Updated test result - removed duplicate error. mysql-test/r/lock.result: Updated test result - added summary row. mysql-test/r/merge.result: A test case for BUG#26976. mysql-test/r/preload.result: Updated test result - removed duplicate error, added summary row. mysql-test/r/ps.result: Updated test result - removed duplicate error, added summary row. mysql-test/r/repair.result: Updated test result - removed duplicate error, added summary row. mysql-test/r/rpl_failed_optimize.result: Updated test result - removed duplicate error, added summary row. mysql-test/r/sp.result: Updated test result - removed duplicate error, added summary row. mysql-test/r/view.result: Updated test result - removed duplicate error, added summary row. mysql-test/t/merge.test: A test case for BUG#26976. sql/ha_myisam.cc: Do not report same error twice. sql/ha_myisammrg.cc: If HA_OPEN_FOR_REPAIR is passed to merge engine open function, report names of tables that we fail to open. Added dummy ha_myisammrg::check to not confuse users with "not implemented" error in case all underlying tables are fine. sql/ha_myisammrg.h: Added ha_myisammrg::check declaration. sql/share/errmsg.txt: Added ER_ADMIN_WRONG_MRG_TABLE errno. It is used instead of ER_WRONG_MRG_TABLE in case HA_OPEN_FOR_REPAIR is passed to merge engine handler open function. sql/sql_error.cc: warning_level_* are now public. It is required by mysql_admin_table to report message level. sql/sql_error.h: warning_level_* are now public. It is required by mysql_admin_table to report message level. sql/sql_table.cc: Reorder mysql_admin_table arguments to meet it's definition. Report errors that are pending in thd->warn_list as results of admin function.
* | | Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug27976/my50-bug27976unknown2007-05-071-1/+1
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | into zippy.cornsilk.net:/home/cmiller/work/mysql/bug27976/my51-bug27976 mysql-test/r/repair.result: Auto merged
| * | Fix new error message list in v5.unknown2007-05-071-1/+1
| | | | | | | | | | | | | | | mysql-test/r/repair.result: New error listing in v5.
* | | Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug27976/my50-bug27976unknown2007-05-041-1/+1
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | into zippy.cornsilk.net:/home/cmiller/work/mysql/bug27976/my51-bug27976 mysql-test/r/repair.result: Auto merged storage/myisam/sort.c: Auto merged
| * | Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug27976/my41-bug27976unknown2007-05-041-1/+1
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | | | | | | | into zippy.cornsilk.net:/home/cmiller/work/mysql/bug27976/my50-bug27976 mysql-test/r/repair.result: Auto merged myisam/sort.c: Manual merge.
| | * Bug #27976: Misleading error message, 'Sort buffer to small'unknown2007-05-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The message is gramatically wrong, and factually wrong. Change it to refer to the myisam_sort_buffer_size variable and change "to" to "too". myisam/sort.c: Change error messages to be gramatically correct and to refer to the correct variable. mysql-test/r/repair.result: Refer to the correct variable. Message changed.
* | | After merge fix.unknown2006-10-191-6/+6
| | |
* | | Merge mysql.com:/home/svoj/devel/mysql/engines/mysql-5.0-enginesunknown2006-10-191-0/+38
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/svoj/devel/mysql/engines/mysql-5.1-engines mysql-test/t/repair.test: Auto merged sql/sql_base.cc: Auto merged storage/myisam/sort.c: Auto merged mysql-test/r/repair.result: Manual merge.
| * | After merge fix.unknown2006-10-191-0/+3
| | |
| * | Merge mysql.com:/home/svoj/devel/mysql/engines/mysql-4.1-enginesunknown2006-10-191-0/+35
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/svoj/devel/mysql/engines/mysql-5.0-engines myisam/sort.c: Auto merged mysql-test/r/repair.result: Auto merged mysql-test/t/repair.test: Auto merged sql/sql_base.cc: Use local.
| | * Merge mysql.com:/home/svoj/devel/mysql/BUG23175/mysql-4.1-enginesunknown2006-10-191-0/+28
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/svoj/devel/mysql/engines/mysql-4.1-engines mysql-test/r/repair.result: Manual merge. mysql-test/t/repair.test: Manual merge.
| | | * BUG#23175 - MYISAM crash/repair failed during repairunknown2006-10-181-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Repair table could crash a server if there is not sufficient memory (myisam_sort_buffer_size) to operate. Affects not only repair, but also all statements that use create index by sort: repair by sort, parallel repair, bulk insert. Return an error if there is not sufficient memory to store at least one key per BUFFPEK. Also fixed memory leak if thr_find_all_keys returns an error. myisam/sort.c: maxbuffer is number of BUFFPEK-s for repair. It is calculated as records / keys. keys is number of keys that can be stored in memory (myisam_sort_buffer_size). There must be sufficient memory to store both BUFFPEK-s and keys. It was checked correctly before this patch. However there is another requirement that wasn't checked: there must be sufficient memory for at least one key per BUFFPEK, otherwise repair by sort/parallel repair cannot operate. Return an error if there is not sufficient memory to store at least one key per BUFFPEK. Also fixed memory leak if thr_find_all_keys returns an error. mysql-test/r/repair.result: A test case for BUG#23175. mysql-test/t/repair.test: A test case for BUG#23175.
| | * | BUG#22562 - REPAIR TABLE .. USE_FRM causes server crash on Windows and serverunknown2006-10-111-0/+7
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | hangs on Linux If REPAIR TABLE ... USE_FRM is issued for table that is located in different than default database server crash could happen. In reopen_name_locked_table take database name from table_list (user specified or default database) instead of from thd (default database). Affects 4.1 only. mysql-test/r/repair.result: A test case for BUG#22562. mysql-test/t/repair.test: A test case for BUG#22562. sql/sql_base.cc: In reopen_name_locked_table take database name from table_list (user specified or default database) instead of from thd (default database).
| | * BUG#10974 - No error message if merge table based on union of innodb, memoryunknown2006-09-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed confusing error message from the storage engine when it fails to open underlying table. The error message is issued when a table is _opened_ (not when it is created). myisammrg/myrg_open.c: Set my_errno to HA_ERR_WRONG_MRG_TABLE_DEF if attempt to open underlying table failed. mysql-test/r/merge.result: A test case for bug#10974. mysql-test/r/repair.result: Fixed a test case according to patch for bug#10974. mysql-test/t/merge.test: A test case for bug#10974. sql/share/english/errmsg.txt: Better error message if we fail to open underlying table. sql/table.cc: Report error from handler with print_error instead of frm_error. This fixes confusing error message from the handler. Actually this is backported from 5.0.
* | | Merge fixesunknown2006-08-141-0/+6
|/ / | | | | | | | | | | | | | | | | mysql-test/r/mysqldump.result: Merge result fix mysql-test/r/repair.result: Merge Result Fix mysql-test/t/mysqldump.test: Fix of test
* | Merge may.pils.ru:/home/svoj/devel/mysql/BUG18874/mysql-4.1unknown2006-08-141-0/+11
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | into may.pils.ru:/home/svoj/devel/mysql/BUG18874/mysql-5.0 myisam/sort.c: Auto merged mysql-test/r/repair.result: Auto merged mysql-test/t/repair.test: Auto merged
| * BUG#18874 - Setting myisam_repair_threads > 1, index cardinality always 1unknown2006-08-141-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed by moving update_key_parts() down to be after write_index(). myisam/sort.c: write_index() collects index statistic which is further used in update_key_parts(). Thus update_key_parts() must be called after write_index(). mysql-test/r/repair.result: Test case for bug#18874. mysql-test/t/repair.test: Test case for bug#18874.
* | Show all generated warnings in SHOW ERRORunknown2005-02-241-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we only stored the first given error (the error sent to the client) include/mysys_err.h: Moved ER_FILENOTFOUND last to avoid getting 'error 0' mysql-test/r/backup.result: More warnings from in case of errors mysql-test/r/innodb.result: More warnings from in case of errors mysql-test/r/key_cache.result: More warnings from in case of errors mysql-test/r/myisam.result: More warnings from in case of errors mysql-test/r/preload.result: More warnings from in case of errors mysql-test/r/repair.result: More warnings from in case of errors mysql-test/r/rpl_failed_optimize.result: More warnings from in case of errors mysql-test/r/subselect.result: More warnings from in case of errors mysql-test/t/backup.test: Portability fix mysql-test/t/innodb.test: Avoid some warnings mysql-test/t/myisam.test: Portability fix mysql-test/t/rpl_rotate_logs.test: Portablitiy fix mysys/errors.c: Move ER_FILENOTFOUND last to avoid error 0 sql/mysql_priv.h: Indentation change sql/mysqld.cc: Save all given errors for SHOW ERRORS sql/protocol.cc: Store new errors for SHOW ERROR (Ignore those that are already reported with my_error()) sql/sql_class.cc: More errors with SHOW ERROR sql/sql_class.h: More errors with SHOW ERROR sql/sql_error.cc: More errors with SHOW ERROR sql/sql_parse.cc: Temporary fix: Don't give error for the to-be-removed 'pre-open tables code' sql/sql_show.cc: More debugging Don't register errors while populating schema tables. (If we do, we get a LOT of warnings from information_schema.test) sql/sql_table.cc: Don't register errors from handler in drop table (as we already do it the upper level DROP TABLE code) Don't register errors for 'restore_table' as in most cases the table doesn't exists sql/sql_union.cc: Use file->write_row() instead of 'write_record'. This gives us easer to handle error messages and is faster than the old version
* | WL#1895 - Print message to error log in case of detected MyISAM corruptionunknown2004-12-231-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changed my_error() to print error messages, which come from arbitrary registered ranges of error messages. Messages can be unregistered (and should be at end of the program). Added registration of handler error messages. Added a new mi_print_error() macro and a new mi_report_error() function, which supply error messages with a table name. Added calls to mi_print_error() or mi_report_error() at all places in MyISAM, where table corruption is detected. extra/comp_err.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added prints for ER_ERROR_FIRST and ER_ERROR_LAST. Removed print for ER_ERROR_MESSAGES. include/errmsg.h: WL#1895 - Print message to error log in case of detected MyISAM corruption Added declaration for a new function. Added first and last error number defines. include/my_base.h: WL#1895 - Print message to error log in case of detected MyISAM corruption Added first and last error number defines. include/my_sys.h: WL#1895 - Print message to error log in case of detected MyISAM corruption Removed obsolete defines. Removed a global variable, which held pointers to the error message arrays. Added declarations for new functions. include/mysys_err.h: WL#1895 - Print message to error log in case of detected MyISAM corruption Removed an obsolete define. Changed two defines to use the new defines. Added first and last error number defines. libmysql/errmsg.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Replaced global array initialization by proper registration and unregistration of client error messages. libmysql/libmysql.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added a call for unregistration of client error messages. myisam/mi_delete.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. Added a debugging call to pretend MyISAM corruption in case a special debug string is set. Added a debugging call to test undefined error numbers in case a special debug string is set. myisam/mi_extra.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. myisam/mi_info.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added the error logging function. myisam/mi_key.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. myisam/mi_keycache.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. myisam/mi_locking.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. myisam/mi_open.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. Added a debugging call to pretend MyISAM corruption in case a special debug string is set. myisam/mi_page.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. myisam/mi_range.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. myisam/mi_rkey.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. myisam/mi_search.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. myisam/mi_update.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. Added a debugging call to pretend MyISAM corruption in case a special debug string is set. myisam/mi_write.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Added calls to the new error logging function at all places, where corruption is detected. Added a debugging call to pretend MyISAM corruption in case a special debug string is set. myisam/myisamdef.h: WL#1895 - Print message to error log in case of detected MyISAM corruption Added the declaration of the new error logging function and a new macro. mysql-test/r/merge.result: WL#1895 - Print message to error log in case of detected MyISAM corruption Changed test results. These come from the changed error reporting in openfrm(). mysql-test/r/repair.result: WL#1895 - Print message to error log in case of detected MyISAM corruption Changed test results. These come from the changed error reporting in openfrm(). mysql-test/t/merge.test: WL#1895 - Print message to error log in case of detected MyISAM corruption Changederror numbers. These come from the changed error reporting in openfrm(). mysys/errors.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Dropped the assignment of the global errors to the dropped global pointer array. mysys/my_error.c: WL#1895 - Print message to error log in case of detected MyISAM corruption Changed my_error() from using a static array of pointers to error message arrays to using a linked list of structures with pointers to array message arrays. Added functions for registering and unregistering error message arrays to the chain. sql/derror.cc: WL#1895 - Print message to error log in case of detected MyISAM corruption Changed reading of mysqld error messages to using the new registering and unregistering functions. sql/handler.cc: WL#1895 - Print message to error log in case of detected MyISAM corruption Added initialization and deinitialization of handler error messages. Included more handler error messages in the mapping to mysqld error messages. sql/mysqld.cc: WL#1895 - Print message to error log in case of detected MyISAM corruption Changed deinitialization of error messages to proper unregistration. sql/table.cc: WL#1895 - Print message to error log in case of detected MyISAM corruption Changed error reporting in openfrm() so that error messages from handler::ha_open() are reported by handler::print_error(). This changed messages from "Can't open 't1.MYI' (errno: 130)" to "Incorrect file format 't1'" for example. sql/unireg.h: WL#1895 - Print message to error log in case of detected MyISAM corruption Changed two defines to use the new defines.
* Fix to handle unsigned data in prepared statements (Bug #3447)unknown2004-05-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed security problem that password was temporarly reset when someone changed GRANT for a user. (Bug #3404) Fixed problem with PROCEDURE analyse() and impossible WHERE (Bug #2238) Don't auto-repair tables in mysqlcheck if table type doesn't support 'check' command. Docs/mysqld_error.txt: Updated error values client/mysqlcheck.c: Don't cause auto-repair on 'note' (Tables that doesn't support 'check') libmysql/libmysql.c: Fix to handle unsigned data in prepared statements (Bug #3447) mysql-test/r/analyse.result: Test of analyze + impossible where (Bug #2238) mysql-test/r/bdb.result: Update results mysql-test/r/ctype_ujis.result: Update results mysql-test/r/isam.result: Update results mysql-test/r/repair.result: Update results mysql-test/t/analyse.test: Test of analyze + impossible where (Bug #2238) mysql-test/t/ctype_ujis.test: Added test for LIKE (Bug #3438) sql/sql_acl.cc: Fixed security problem that password was temporarly reset when someone changed GRANT for a user. (Bug #3404) sql/sql_select.cc: Fixed problem with PROCEDURE analyse() and impossible WHERE (Bug #2238) sql/sql_table.cc: Changed 'error' to 'note' when table doesn't support admin command. sql/sql_update.cc: Indentaion cleanup tests/client_test.c: Added test for handling unsigned/signed strings with prepared statements
* Fixed problems noticed with last buildunknown2004-04-091-0/+1
| | | | | | | | | | | | | | | mysql-test/r/lowercase_table2.result: Fixed typo mysql-test/r/repair.result: Portability fix (For OpenBSD) mysql-test/t/repair.test: Portability fix (For OpenBSD) mysys/my_thr_init.c: Fixed crasch with some tests on OpenBSD. sql/field.cc: Don't truncate big values (Caused a core dump on Linux-Alpha for big values) sql/log.cc: More DBUG
* post-review fixesunknown2004-04-071-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HA_EXTRA_WRITE_CACHE now part of start_bulk_insert() test cleanups BitKeeper/deleted/.del-repair_part2-master.sh~f44a8c15d6c36585: Delete: mysql-test/t/repair_part2-master.sh BitKeeper/deleted/.del-repair_part2.test~c20f60783b04d001: Delete: mysql-test/t/repair_part2.test BitKeeper/deleted/.del-repair_part2.result~72ca166fb248b566: Delete: mysql-test/r/repair_part2.result mysql-test/r/myisam.result: updated mysql-test/t/lowercase_table2.test: typo fixed mysql-test/r/repair.result: single repair.test from repair_part[12].test mysql-test/t/lowercase_table3.test: typo fixed mysql-test/t/lowercase_table_qcache.test: newline added mysql-test/t/myisam.test: updated mysql-test/t/repair.test: single repair.test from repair_part[12].test sql/field.cc: reverted sql/field.h: style fix sql/ha_myisam.cc: add HA_EXTRA_WRITE_CACHE to start_bulk_insert sql/sql_insert.cc: add HA_EXTRA_WRITE_CACHE to start_bulk_insert sql/sql_load.cc: add HA_EXTRA_WRITE_CACHE to start_bulk_insert sql/sql_table.cc: add HA_EXTRA_WRITE_CACHE to start_bulk_insert
* After merge fixesunknown2003-06-051-15/+0
| | | | | | | | | | | mysql-test/r/repair_part1.result: Rename: mysql-test/r/repair.result -> mysql-test/r/repair_part1.result mysql-test/t/repair_part1.test: Rename: mysql-test/t/repair.test -> mysql-test/t/repair_part1.test include/sql_common.h: Declare not_error_sqlstate scripts/Makefile.am: Added back fill_help_tables.sql