ALTER TABLE DISABLE KEYS doesn't work when modifying the table
ENABLE|DISABLE KEYS combined with another ALTER TABLE option, different
than RENAME TO did nothing. Also, if the table had disabled keys
and was ALTER-ed then the end table was with enabled keys.
Fixed by checking whether the table had disabled keys and enabling them
in the copied table.
myisam/mi_open.c:
Extend mi_indexes_are_disabled to implement return value
2 - Non-unique indexes are disabled
mysql-test/r/alter_table.result:
update result
mysql-test/t/alter_table.test:
update test
sql/sql_table.cc:
When ENABLE|DISABLE index is combined with another option
different than RENAME TO, we should ENABLE|DISABLE the keys of
the modified table. Also when modifying we should preserve the
previous state of the indices.
(This problem exists in 5.0 and 5.1 but since the codebase has
diverged, this fix won't automerge, but the fix will be quite
similar).
- Better control of when to create/remove vardir
mysql-test/mysql-test-run.pl:
Split the part the function cleanup_stale_files in two parts
- one that removes any old var directories
- one that setup var in te proper location
If running against extern server and no vardir has been created in the specified
location, run the latter function to create the vardir structure. Else print
message saying the vardir already exists and continue.
And if var/ has been created, it will be recreated later so the logs
from "mtr_kill_leftovers" will be lost anyway
mysql-test/mysql-test-run.pl:
Don't create vardir before mtr_kill_leftovers
mysql-test/lib/mtr_process.pl:
Send output - if any - from mysqladmin to stdout/stderr. There shouldn't
be any such errors and if any occur, it's good to know about them.
mysql-test/lib/mtr_report.pl:
Don't output "skipped" comment if there is none (bug#24471)
mysql-test/mysql-test-run.pl:
Removed "use diagnostics", reduces Perl speed significantly. Can be
enabled with "perl -Mdiagnostics mysql-test-run.pl".
And if var/ has been created, it will be recreated later so the logs will
be lost
mysql-test/lib/mtr_process.pl:
Send output - if any - from mysqladmin to stdout/stderr. There shouldn't
be any such errors and if any occur, it's good to know about them.
mysql-test/mysql-test-run.pl:
Don't create vardir before mtr_kill_leftovers
mysql-test-run.pl:
Removed "use diagnostics", reduces Perl speed significantly. Can be
enabled with "perl -Mdiagnostics mysql-test-run.pl".
mtr_report.pl:
Don't try output "skipped" comment if there is none (bug#24471)
mysql-test/lib/mtr_report.pl:
Don't try output "skipped" comment if there is none (bug#24471)
mysql-test/mysql-test-run.pl:
Removed "use diagnostics", reduces Perl speed significantly. Can be
enabled with "perl -Mdiagnostics mysql-test-run.pl".
mysql-test/lib/mtr_unique.pl:
- add info message to mtr_require_unique_id_and_wait as suggested
- fix for security issue
- locks for pids of processes that don't exist anymore are reused, if ps is present and working as expected
traces in Valgrind (broken libc6-dbg).
Installing libc6-dbg on Debian will still provide proper bactraces, even
without setting LD_LIBRARY_PATH explicitly.
mysql-test/lib/mtr_io.pl:
Do not link /usr/lib/debug/* on Debian <=3.1, as it causes broken stack
traces in Valgrind.
mysql-test/mysql-test-run.pl:
Do not link /usr/lib/debug/* on Debian <=3.1, as it causes broken stack
traces in Valgrind.
into neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
mysql-test/Makefile.am:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/t/func_time.test:
Auto merged
sql-common/my_time.c:
Auto merged
sql/item_timefunc.cc:
Auto merged
mysql-test/mysql-test-run-shell.sh:
Auto merged
mysql-test/mysql-test-run.pl:
Manual merge of changes for RPM
into mysql.com:/usr/home/ram/work/bug22029/my41-bug22029
mysql-test/r/date_formats.result:
Auto merged
mysql-test/t/date_formats.test:
Auto merged
sql/item_timefunc.cc:
Auto merged
Make Prepared_stmt_count a global status variable, accessible via
SHOW STATUS LIKE 'Prepared_stmt_count';. Documentation should be
updated.
mysql-test/r/ps.result:
Update result for bug#16365: Prepared Statements: DoS with too many
open statements, according to bug#23159: prepared_stmt_count should be
status variable.
mysql-test/t/ps.test:
Update test case for bug#16365: Prepared Statements: DoS with too many
open statements, according to bug#23159: prepared_stmt_count should be
status variable.
sql/mysqld.cc:
Add Prepared_stmt_count as global status variable.
sql/set_var.cc:
Remove prepared_stmt_count as system variable.
into mysql.com:/home/hf/work/mysql-4.1-mrg
include/mysql.h:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/rename.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_class.h:
Auto merged
Makefile.am:
merging
client/mysqltest.c:
merging
mysql-test/t/mysql_client.test:
merging
There was an improper order of doing chained operations.
To the documentor: ENABLE|DISABLE KEYS combined with RENAME TO, and no other
ALTER TABLE clause, leads to server crash independent of the presence of
indices and data in the table.
mysql-test/r/alter_table.result:
update result
mysql-test/t/alter_table.test:
add test for bug#24129
sql/sql_table.cc:
If there is operation on the KEYS, first do it
and then do a rename if there is such. Or, we will crash because
the underlying table has changed.
The problem was that some functions (namely IN() starting with 4.1, and
CHAR() starting with 5.0) were returning NULL in certain conditions,
while they didn't set their maybe_null flag. Because of that there could
be some problems with 'IS NULL' check, and statements that depend on the
function value domain, like CREATE TABLE t1 SELECT 1 IN (2, NULL);.
The fix is to set maybe_null correctly.
mysql-test/r/func_in.result:
Add result for bug#17047: CHAR() and IN() can return NULL without
signaling NULL result.
mysql-test/t/func_in.test:
Add test case for bug#17047: CHAR() and IN() can return NULL without
signaling NULL result.
sql/item_cmpfunc.cc:
Remove assignment to maybe_null, as it was already set in fix_fields()
based on all arguments, not only on the first.
mending windows test.
mysql-test/r/rpl_packet.result:
results changed
mysql-test/t/rpl_packet.test:
removing because of the connection with windows client can be lost instead of
the error code back (source: manual).
mysql-test/Makefile.am:
add include/*.test to dist-hook and install-data-local targets to include the three .test files in mysql-test/include with make dist