- Moved static variables defined inside of function to file scope to avoid this linking problem on FC3
sql/ha_berkeley.cc:
Moved list of bdb extension to file scope
sql/ha_ndbcluster.cc:
Moved list of ndb extesions to file scope
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
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.
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.
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.
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
write_row(): Detect SQLCOM_OPTIMIZE, so that also OPTIMIZE TABLE
will commit at every 10,000 copied rows.
sql/ha_innodb.cc:
write_row(): Detect SQLCOM_OPTIMIZE, so that also OPTIMIZE TABLE
will commit at every 10,000 copied rows.
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.
to 'libmysql/net.c'.
sql/net_serv.cc:
Even though this is (by name) a C++ file, it is later symlinked to 'libmysql/net.c'
and so the source will be treated as plain C: No C++ comments in here!
include/my_global.h:
Auto merged
mysys/mf_tempfile.c:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/share/english/errmsg.txt:
Auto merged
sql/table.cc:
Auto merged
include/my_global.h:
O_NOFOLLOW
isam/create.c:
create table files with O_EXCL|O_NOFOLLOW
merge/mrg_create.c:
create table files with O_EXCL|O_NOFOLLOW
myisam/mi_create.c:
create files of temporary tables with O_EXCL|O_NOFOLLOW
myisammrg/myrg_create.c:
create table files with O_EXCL|O_NOFOLLOW
mysys/mf_tempfile.c:
create temporary files with O_EXCL|O_NOFOLLOW
sql/ha_myisam.cc:
let mi_create know if the table is TEMPORARY
sql/mysql_priv.h:
--allow_suspicious_udfs
sql/mysqld.cc:
--allow_suspicious_udfs
sql/share/english/errmsg.txt:
typo
sql/sql_udf.cc:
--allow_suspicious_udfs
don't allow xxx() udf without any of xxx_init/deinit/add/reset
check paths when loading from mysql.func
sql/table.cc:
create frm of temporary table with O_EXCL|O_NOFOLLOW
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.
CREATE INDEX and DROP INDEX every 10,000 rows,
similar to ALTER TABLE.
sql/ha_innodb.cc:
Commit inserts to the temporary tables created by
CREATE INDEX and DROP INDEX every 10,000 rows, similar
to ALTER TABLE.
sql/ha_innodb.h:
Remove duplicate declaration of srv_max_purge_lag.