Added a test case for bug #9017.
item_cmpfunc.h:
A wrong not_null_tables method for Item_cond_xor
caused a conversion of a left join into an inner join
that was not valid.
sql/item_cmpfunc.h:
A wrong not_null_tables method for Item_cond_xor
caused a conversion of a left join into an inner join
that was not valid.
mysql-test/t/join_outer.test:
Added a test case for bug #9017.
mysql-test/r/join_outer.result:
Added a test case for bug #9017.
mysql-test/lib/mtr_report.pl:
Keep the Perl version in sync with the shell script so that 'Do-compile' will call
PS and ES tests even after some previous test failures.
(See previous change to 'mysql-test-run.sh' and 'Do-compile'.)
Item_func_equal::not_null_tables() always return 0.
mysql-test/r/join_outer.result:
Testcase for BUG#8711
mysql-test/t/join_outer.test:
Testcase for BUG#8711
sql/item_cmpfunc.h:
Fix for BUG#8711: "<=>" may have true value for NULL arguments, i.e. it can accept NULL-complemented
table rows. This differs from assumptions made in Item_func::not_null_tables(), so add
Item_func_equal::not_null_tables().
Item_func_equal::not_null_tables_cache value doesn't make sense now, but we still let it be
calculated (and ignore it)
The reported problems were due to two completely unrelated omissions.
1) The file sort procedure didn't correctly create the sort key in
make_sortkey when the sortkey was an unsigned integer.
2) The name resolution procedure for column references inside a HAVING
clause did not propagate the unsigned_flag of the resolved references.
This patch corrects both problems.
mysql-test/r/select.result:
Added test result for BUG#7425.
mysql-test/t/select.test:
Added test for BUG#7425.
sql/filesort.cc:
Take into account whether 'item' represents a signed or an unsigned integer.
sql/item.cc:
Once an Item_ref is resolved, propagate the unsigned_flag to the resolved item.
Added a test case for bug #8669.
item_strfunc.cc:
Fixed bug #8669.
Function AES_DECRYPT can return NULL value.
sql/item_strfunc.cc:
Fixed bug #8669.
Function AES_DECRYPT can return NULL value.
mysql-test/t/func_str.test:
Added a test case for bug #8669.
mysql-test/r/func_str.result:
Added a test case for bug #8669.
Removed -c from /bin/sh call
make_win_src_distribution.sh:
Copy all content in mysql-test
make_win_binary_distribution.sh, make_binary_distribution.sh:
Add Perl version of mysql-test-run to package
s_win32_dsp, s_win32, s_vxworks, s_test, s_readme, s_java, s_javah:
Bug #6209 changes for building Berkeley DB from BitKeeper on Solaris
bdb/dist/s_javah:
Bug #6209 changes for building Berkeley DB from BitKeeper on Solaris
bdb/dist/s_java:
Bug #6209 changes for building Berkeley DB from BitKeeper on Solaris
bdb/dist/s_readme:
Bug #6209 changes for building Berkeley DB from BitKeeper on Solaris
bdb/dist/s_test:
Bug #6209 changes for building Berkeley DB from BitKeeper on Solaris
bdb/dist/s_vxworks:
Bug #6209 changes for building Berkeley DB from BitKeeper on Solaris
bdb/dist/s_win32:
Bug #6209 changes for building Berkeley DB from BitKeeper on Solaris
bdb/dist/s_win32_dsp:
Bug #6209 changes for building Berkeley DB from BitKeeper on Solaris
scripts/make_binary_distribution.sh:
Add Perl version of mysql-test-run to package
scripts/make_win_binary_distribution.sh:
Add Perl version of mysql-test-run to package
scripts/make_win_src_distribution.sh:
Copy all content in mysql-test
mysql-test/mysql-test-run.pl:
Removed -c from /bin/sh call
administrative statements that may alter the table, such
as REPAIR TABLE. (Bug #8480)
mysql-test/r/query_cache.result:
Add new results
mysql-test/t/query_cache.test:
Add regression test
sql/sql_table.cc:
Make sure entries are flushed from the query cache for
any administrative command run on a table that acquires
a write lock on it (and thus might change it), like
REPAIR TABLE.
into sinisa.nasamreza.org:/mnt/work/mysql-4.1
BitKeeper/etc/ignore:
auto-union
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
dumped with --hex-blob and --skip-extended-insert options.
BitKeeper/etc/ignore:
Added support-files/ndb-config-2-node.ini to the ignore list
client/mysqldump.c:
A fix for a bug #8830. All that was necessary was to use unsigned char
instead of signed char.
mysql-test/r/mysqldump.result:
A result for test case for bug #8830.
mysql-test/t/mysqldump.test:
Test case for bug #8830.
Logging to logging@openlogging.org accepted
func_group.result, func_group.test:
Added a test case for bug #8893.
opt_sum.cc:
A misplaced initialization for the returned parameter
prefix_len in the function find_key_for_maxmin caused
usage of a wrong key prefix by the min/max optimization
in cases when the matching index was not the first index
that contained the min/max field.
sql/opt_sum.cc:
A misplaced initialization for the returned parameter
prefix_len in the function find_key_for_maxmin caused
usage of a wrong key prefix by the min/max optimization
in cases when the matching index was not the first index
that contained the min/max field.
mysql-test/t/func_group.test:
Added a test case for bug #8893.
mysql-test/r/func_group.result:
Added a test case for bug #8893.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
fixing test results accordingly.
func_system.test:
New test that illegal mix of collations does not happen anymore.
item_strfunc.h:
safe_charset_converter() was added for system constants.
item_strfunc.cc:
safe_charset_converter() was added for system constants.
item_func.cc, item.h, item.cc:
Bug#8291: Illegal collation mix with USER() function.
After discussion with PeterG and Serge, a new coercibility
level for "system constants" was introduced, between
COERRIBLE and IMPLICIT. Thus:
SELECT col1 = USER() FROM t1; - is done according to col1 collation.
SELECT 'string' = USER(); - is done according to USER() collation.
At the same time, "nagg" and "strong" members were removed as unused.
item_create.cc:
Version is a system constant too.
sql/item.cc:
Bug#8291: Illegal collation mix with USER() function.
After discussion with PeterG and Serge, a new coercibility
level for "system constants" was introduced, between
COERRIBLE and IMPLICIT. Thus:
SELECT col1 = USER() FROM t1; - is done according to col1 collation.
SELECT 'string' = USER(); - is done according to USER() collation.
At the same time, "nagg" and "strong" members were removed as unused.
sql/item.h:
Bug#8291: Illegal collation mix with USER() function.
After discussion with PeterG and Serge, a new coercibility
level for "system constants" was introduced, between
COERRIBLE and IMPLICIT. Thus:
SELECT col1 = USER() FROM t1; - is done according to col1 collation.
SELECT 'string' = USER(); - is done according to USER() collation.
At the same time, "nagg" and "strong" members were removed as unused.
sql/item_create.cc:
Version is a system constant too.
sql/item_func.cc:
Bug#8291: Illegal collation mix with USER() function.
After discussion with PeterG and Serge, a new coercibility
level for "system constants" was introduced, between
COERRIBLE and IMPLICIT. Thus:
SELECT col1 = USER() FROM t1; - is done according to col1 collation.
SELECT 'string' = USER(); - is done according to USER() collation.
At the same time, "nagg" and "strong" members were removed as unused.
sql/item_strfunc.cc:
safe_charset_converter() was added for system constants.
sql/item_strfunc.h:
safe_charset_converter() was added for system constants.
mysql-test/t/func_system.test:
New test that illegal mix of collations does not happen anymore.
mysql-test/r/ctype_collate.result:
fixing test results accordingly.
mysql-test/r/func_str.result:
fixing test results accordingly.
mysql-test/r/func_system.result:
fixing test results accordingly.
mysql-test/r/type_blob.result:
fixing test results accordingly.
after the previous run had some failures, provided it did not totally crash.
Build-tools/Do-compile:
Change the search string for a test run from "tests were successful" to just
"were successful", which is written by the test run even after some failures.
This is necessary to start the next test suite ('--ps-protocol', '--embedded-server')
even after the previous one had some test failures.
mysql-test/mysql-test-run.sh:
Change the message even after test failures so that it is fairly safe to identify
the end of the run from it (as opposed to a crash of the script).
It is essential that both a run without any and with some test failures
write "were successful" so that it can be grepped.
hostnames to not be matched correctly. (Bug #3309)
sql/sql_acl.cc:
Use an acl_host_or_ip in the GRANT_TABLE struct instead of storing the host
itself, and use compare_hostname() in testing it. This adds support for IP
addresses with netmasks to table-specific grants, and results in simplified
code by making use of compare_hostname() in more places.
mysql-test/r/grant2.result:
Add new results
mysql-test/t/grant2.test:
Add new regression test
sql/sql_union.cc:
a fix for --ps-protocol (bug #6089: FOUND_ROWS returns wrong values when no table/view is used)
Don't touch options as itit's not needed.
in slave SQL thread: if a transaction fails because of InnoDB deadlock or innodb_lock_wait_timeout exceeded,
optionally retry the transaction a certain number of times (new variable --slave_transaction_retries).
sql/mysql_priv.h:
new var slave_transaction_retries
sql/mysqld.cc:
new variable slave_transaction_retries. Plus fixing a typo.
sql/set_var.cc:
new global variable slave_transaction_retries (will be one per subslave, when we have multimaster).
sql/slave.cc:
Slave SQL thread: if a transaction fails because of InnoDB deadlock or innodb_lock_wait_timeout exceeded,
optionally retry the transaction a certain number of times (--slave_transaction_retries).
sql/slave.h:
new RELAY_LOG_INFO::trans_retries.
Added a check, if the table, which we are going to create, is open.
This can happen if a MERGE mapped table is TRUNCATEd.
myisam/mi_open.c:
Bug#8306 - TRUNCATE leads to index corruption
Made test_if_reopen() globally available.
myisam/myisamdef.h:
Bug#8306 - TRUNCATE leads to index corruption
Declared test_if_reopen() as globally available.
mysql-test/r/myisam.result:
Bug#8306 - TRUNCATE leads to index corruption
The test result.
mysql-test/t/myisam.test:
Bug#8306 - TRUNCATE leads to index corruption
The test case.
depending on ref->unsigned_flag. Item_int_with_ref can refer to both signed and
unsigned integers.
mysql-test/r/bigint.result:
Test case for BUG#8562
mysql-test/t/bigint.test:
Test case for BUG#8562
the error to be sent to the client.
mysql-test/r/select_safe.result:
Testcase for BUG#8726
mysql-test/t/select_safe.test:
Testcase for BUG#8726
sql/sql_select.cc:
Fix for BUG#8726: On ER_TOO_BIG_SELECT set JOIN::error to -1 to cause the error to be sent to the client.