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)
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
- 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()'.
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).
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().
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.
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!"
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).
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".
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
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.
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.
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.
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.
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.
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.
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.
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).
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.
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
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.
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
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.
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
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
Added initialization of all important global variables
BUILD/SETUP.sh:
build with readline
client/mysqltest.c:
Added variable SERVER_VERSION
myisam/mi_key.c:
Indentation change
myisam/mi_open.c:
After merge fix
myisam/mi_range.c:
After merge fix
myisam/mi_rkey.c:
After merge fix
myisam/mi_search.c:
After merge fix
myisam/myisamdef.h:
After merge fix
mysql-test/include/not_embedded.inc:
Fix test (because of wrong utf8 test)
mysql-test/r/alter_table.result:
Updated results after merge
mysql-test/r/create.result:
Updated results after merge
mysql-test/r/ctype_recoding.result:
Updated results after merge
mysql-test/r/fulltext.result:
Updated results after merge
mysql-test/r/func_group.result:
Updated results after merge
mysql-test/r/group_by.result:
Updated results after merge
mysql-test/r/innodb.result:
Updated results after merge
mysql-test/r/join_outer.result:
Updated results after merge
mysql-test/r/null_key.result:
Updated results after merge
mysql-test/r/order_by.result:
Updated results after merge
mysql-test/r/query_cache.result:
Updated results after merge
mysql-test/r/repair.result:
Updated results after merge
mysql-test/r/rpl_flush_tables.result:
Updated results after merge
mysql-test/r/union.result:
Updated results after merge
mysql-test/r/update.result:
Updated results after merge
mysql-test/t/ansi.test:
After merge fixes
mysql-test/t/create.test:
After merge fixes
mysql-test/t/ctype_recoding.test:
After merge fixes
mysql-test/t/ctype_ujis.test:
After merge fixes
mysql-test/t/fulltext.test:
After merge fixes
mysql-test/t/innodb.test:
After merge fixes
mysql-test/t/join_outer.test:
After merge fixes
mysql-test/t/loaddata.test:
After merge fixes
mysql-test/t/order_by.test:
After merge fixes
mysql-test/t/rpl_flush_tables.test:
After merge fixes
mysql-test/t/status.test:
After merge fixes
mysql-test/t/subselect.test:
After merge fixes
sql/convert.cc:
Code cleanup
sql/field.cc:
After merge fixes
sql/filesort.cc:
Remove compiler warning
sql/item.cc:
More efficient set_name() (no mallocs)
sql/item_cmpfunc.cc:
Code Code cleanup
Item_bool_func2::fix_fields() added to get error handling right for cmp_charset
sql/item_cmpfunc.h:
New prototypes
sql/item_func.cc:
After merge fix
sql/item_strfunc.cc:
Faster check for BINARY
sql/log_event.cc:
Comment cleanup
sql/mysql_priv.h:
New prototypes and variables
sql/mysqld.cc:
Added initialization of all important global variables.
Cleanup of variable declarations
This is needed ot make the embedded version restartable
sql/opt_sum.cc:
After merge fix
sql/set_var.cc:
Code cleanup
sql/sql_acl.cc:
After merge fix
Better error message
sql/sql_db.cc:
After merge fix
sql/sql_derived.cc:
After merge fix
sql/sql_insert.cc:
Indentation cleanups
sql/sql_list.h:
Added empty() to base_ilist
sql/sql_parse.cc:
After merge fix
sql/sql_select.cc:
After merge fix
Fixed derived name handling in EXPLAIN
sql/sql_show.cc:
After merge fix
sql/sql_string.cc:
Made copy_and_convert global
sql/sql_string.h:
Made copy_and_convert global
sql/sql_update.cc:
After merge fix
sql/sql_yacc.yy:
After merge fix
sql/thr_malloc.cc:
Added sql_strmake_with_convert()
sql/unireg.h:
Added MAX_ALIAS_NAME
strings/ctype-ujis.c:
Fixed bug in converting to ujis
Fix for USE_FRM and crashed index file
configure.in:
Fix for MacOSX and symlinks
myisam/mi_open.c:
Give better error message in case of of crashed index file
mysql-test/r/repair.result:
new test case
mysql-test/r/update.result:
new test case
mysql-test/t/repair.test:
Added test with crashed MyISAM index header
mysql-test/t/update.test:
Added test case from bugs system
sql/handler.cc:
Indentation changes
sql/sql_table.cc:
Fix for USE_FRM and crashed index file
Use 0x.... as strings if 'new' mode. (bug 152)
Don't report -max on windows when InnoDB is enabled. (bug 332)
Reset current_linfo; This could cause a hang when doing PURGE LOGS.
Fix for row numbers in EXPLAIN (bug 322)
Fix that USE_FRM works for all table types (bug 97)
VC++Files/libmysql/libmysql.dsp:
Added new source files
myisam/mi_key.c:
Fixed problem when comparing a key for a multi-byte-character set.
myisam/mi_range.c:
Fixed problem when comparing a key for a multi-byte-character set.
myisam/mi_rkey.c:
Fixed problem when comparing a key for a multi-byte-character set.
myisam/mi_search.c:
Fixed problem when comparing a key for a multi-byte-character set.
myisam/mi_test2.c:
Fixed printf statements
myisam/myisamdef.h:
Fixed problem when comparing a key for a multi-byte-character set.
myisam/sort.c:
Fixed printf statements
mysql-test/r/ctype_latin1_de.result:
New test results
mysql-test/r/join.result:
New test results
mysql-test/r/repair.result:
New test results
mysql-test/r/rpl_alter.result:
New test results
mysql-test/t/ctype_latin1_de-master.opt:
--new is needed to get 0x... strings to work properly
mysql-test/t/ctype_latin1_de.test:
New test for latin1_de
mysql-test/t/repair.test:
Test of USE_FRM and HEAP tables
sql/field.cc:
Fixed problem when comparing a key for a multi-byte-character set.
sql/item.cc:
Use 0x.... as strings if 'new' mode
sql/item.h:
Use 0x.... as strings if 'new' mode
sql/mysqld.cc:
Don't report -max on windows when InnoDB is enabled.
sql/sql_analyse.cc:
Removed unused variable
sql/sql_insert.cc:
Removed debug message
sql/sql_repl.cc:
Reset current_linfo; This could cause a hang when doing PURGE LOGS.
sql/sql_select.cc:
Fix for row numbers in EXPLAIN
sql/sql_table.cc:
Fix that USE_FRM works for all table types (without strange errors)
sql/sql_yacc.yy:
Removed compiler warnings.