Remove TMP_TABLE_PARAM::copy_funcs_it. TMP_TABLE_PARAM is a member of JOIN which is
copied via memcpy, and List_iterator_fast TMP_TABLE_PARAM::copy_funcs_it ends up
pointing to the wrong List.
mysql-test/r/subselect.result:
Testcase for BUG#8218
mysql-test/t/subselect.test:
Testcase for BUG#8218
sql/sql_select.cc:
Fix for BUG#8218: Create/use own iterator since TMP_TABLE_PARAM::copy_funcs_it is removed.
(protection against destroying uninited mutex in the case where mysqld fails early at startup (before archive_db_init() was called)
and then calls archive_db_end() to clean up).
sql/examples/ha_archive.cc:
new static archive_inited variable, so that archive_db_end() will do something only if archive_db_init() was run before.
mysql-test/r/ctype_ucs.result:
Test case
mysql-test/t/ctype_ucs.test:
Test case
sql/field.cc:
Fixed minus check to be UCS2-compatible
strings/ctype-ucs2.c:
Missing my_scan_ucs2() was added.
Adjustment of the result file after the revision of the fix for bug #7520.
mysql-test/r/distinct.result:
Adjustment of the result file after the revision of the fix for bug #7520.
After revision of the fix for bug #7520.
table.cc:
Revised the fix for bug #7520.
Made it compliant with 5.0 code where the bug does not exist.
sql/table.cc:
Revised the fix for bug #7520.
Made it compliant with 5.0 code where the bug does not exist.
mysql-test/r/select.result:
After revision of the fix for bug #7520.
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0
BitKeeper/etc/logging_ok:
auto-union
extra/replace.c:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/t/select.test:
Auto merged
sql/table.cc:
Auto merged
Added a test case for bug #7520.
table.cc:
Fixed bug #7520.
The bug was caused by a wrong calculation of the field max_key_length for
a TABLE structure when there was an index on a blob field.
sql/table.cc:
Fixed bug #7520.
The bug was caused by a wrong calculation of the field max_key_length for
a TABLE structure when there was an index on a blob field.
mysql-test/t/select.test:
Added a test case for bug #7520.
mysql-test/r/select.result:
Added a test case for bug #7520.
case-insensitive. (Bug #7989)
mysql-test/r/system_mysql_db.result:
Update results
scripts/mysql_create_system_tables.sh:
Need to create enum and set columns with case-insensitive collation
scripts/mysql_fix_privilege_tables.sql:
Modify all enum and set columns to be case-insensitive (and re-order some of
the fix-ups to make it all happen smoothly).
binlog-do-db or binlog-ignore-db are in effect. (In the future 5.1? 5.0? I think
each statement should be verified against the filtering criteria based on the database
it *uses* and not the *current* one. But, right now the *current* database is what
counts according to the semantics of the manual.)
sql/log.cc:
BUG#6749: If there is no current database, then nothing should be binlogged if
binlog-do-db or binlog-ignore-db are in effect. (In the future I think that each
statement should be verified against the filtering criteria based on the database
it *uses* and not the *current* one. But, right now the *current* database is what
counts according to the semantics of the manual.)
reset mysql->net.last_error": the solution is to clear
MYSQL->net error before performing COM_CLOSE: if the call
succeeds, the connection is usable for other statements.
More comprehensive fix is to clear MYSQL->net for all
recoverable errors at the time they happen, it will be
implemented in 5.0 as it introduces incompatibility in behavior.
libmysql/libmysql.c:
A simple fix for Bug#7990 "mysql_stmt_close doesn't reset
mysql->net.last_error"
tests/mysql_client_test.c:
A test case for Bug#7990 " mysql_stmt_close doesn't reset
mysql->net.last_error"
it also works on file names with special characters.
Build-tools/Do-compile:
Ever and again, some test creates a file name with special characters that need to be
escaped when passed to the shell; as this is not done, 'system("rm -f ...");' fails
on them, the old test tree is not deleted, and the build fails.
Prevent this by changing to Perl 'unlink()' which does not need escaping.
libmysql/libmysql.c:
Fix for bug#8330 "mysql_stmt_execute crashes": we need to bail out
from mysql_stmt_execute if mysql->net is occupied with a result set of
another statement. Otherwise on the next attempt to use net we get
a crash, as it's freed in case of error.
tests/mysql_client_test.c:
A test case for Bug#8330 "mysql_stmt_execute craches" (libmysql)
a character that appears to be a multi-byte character based on its first
byte, but is not actually a valid multi-byte character. (Bug #8378)
tests/mysql_client_test.c:
Add test for Bug #8317
mysys/charset.c:
Properly escape invalid multibyte characters.