After review version.
Added a condition for MERGE tables. These do not have unique
indexes. But every key could be a unique key on the underlying
MyISAM table. So get the maximum key length for MERGE tables
instead of the maximum unique key length. This is used for
buffer allocation in write_record().
mysql-test/r/merge.result:
Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
The test result.
mysql-test/t/merge.test:
Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
The test case does not in all cases show the problem
without the bugfix. The improper memory allocation
might get through undetected in many cases.
sql/ha_myisammrg.h:
Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
Set a table_flag for the MERGE engine telling that any index
might be unique without being specified as such.
sql/handler.h:
Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
Added a new table_flag telling that any index
might be unique without being specified as such.
sql/sql_insert.cc:
Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
Changed the freeing of the memory to be symmetric to its
allocation (my_safe_alloc -> my_safe_afree).
This is not directly related to the bug.
sql/table.cc:
Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
Added a condition for MERGE tables. These do not have unique
indexes. But every key could be a unique key on the underlying
MyISAM table. So get the maximum key length for MERGE tables
instead of the maximum unique key length. This is used for
buffer allocation in write_record().
BitKeeper/deleted/.del-grant_cache-master.opt~1b04b4b1116a7a2:
Delete: mysql-test/t/grant_cache-master.opt
mysql-test/r/grant_cache.result:
query cache management moved inside test
mysql-test/t/grant_cache.test:
query cache management moved inside test to privent server reloading during test
sql/field.cc:
a fix (bug #10539: When inserting out of range value in BIT, different engines behaves differently).
we have to set the first byte only if there is(are) uneven bit(s).
Added test cases for bug #7914.
sql_select.cc:
Fixed bug #7914: rollup over expresssions such as sum(a)+1.
sql/sql_select.cc:
Fixed bug #7914: rollup over expresssions such as sum(a)+1.
mysql-test/t/olap.test:
Added test cases for bug #7914.
mysql-test/r/olap.result:
Added test cases for bug #7914.
to easily check the storage engine supports DELAYED).
client/mysqldump.c:
disabling --delayed-insert until BUG#7815 is fixed (need table def cae)
mysql-test/r/mysqldump.result:
as we disable --delayed-insert, result changes
mysql-test/r/rpl_variables.result:
A fix (bug #10703: rpl_variables.test failure).
"$SLAVE_LOAD_TMPDIR" may differ from the "$MYSQL_TEST_DIR/var/tmp".
mysql-test/t/rpl_variables.test:
A fix (bug #10703: rpl_variables.test failure).
"$SLAVE_LOAD_TMPDIR" may differ from the "$MYSQL_TEST_DIR/var/tmp".
into mysql.com:/usr/home/ram/work/5.0.b10339
mysql-test/r/variables.result:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/set_var.cc:
Auto merged
- Added testcases to test delimiters in 5.0
- In 5.0 it's allowed to have a up to 16 byte string as delimiter, everything after the delimiter token will be treated as the delimiter. It's even allowed to set delimiter to 'delimiter', ':;' or'MySQL'
Rename some functions
more fine-grained sp privileges
make grant/revoke sp grammar less ambigious
mysql-test/r/sp-security.result:
change test for new syntax
mysql-test/r/system_mysql_db.result:
change test for new syntax
mysql-test/t/sp-security.test:
change test for new syntax
scripts/mysql_create_system_tables.sh:
now store routine_type for procs_priv
scripts/mysql_fix_privilege_tables.sql:
now store routine_type for procs_priv
sql/item_func.cc:
rename of function
sql/mysql_priv.h:
rename of function
sql/sp_head.cc:
extra arg for check_some_routine_access
sql/sql_acl.cc:
rename of function. now handle func/proc acls seperately
sql/sql_acl.h:
rename of function
sql/sql_parse.cc:
rename of function
grants for procs handled distinctly from funcs
sql/sql_show.cc:
check_some_routine_access extra arg
sql/sql_base.cc:
fix for build
sql/sql_yacc.yy:
fix for build
- Set max_length of Item_func_uuid to max_length*system_charset_info->mbmaxlen
Note! Item_func_uuid should be set to use 'ascii' charset when hex(), format(), md5() etc will use 'ascii'
mysql-test/r/func_misc.result:
Test results
mysql-test/t/func_misc.test:
Test case
sql/item_strfunc.h:
Multiply max_length of Item_func_uuid with system_charset_info->mbmaxlen
mysql-test/r/alter_table.result:
Fixed results after merge
sql/handler.cc:
Trivial optimzation
sql/sql_table.cc:
Trvial optimization
sql/sql_yacc.yy:
After merge fix
sql/unireg.cc:
Removed argument 'null_fields' from make_empty_rec() as it was not needed
Moved assert() to right place to take bit fields into account
Fixed bug in mysql_stmt_fetch() when retrieving rows to return
mysql-test/r/ps.result:
Fix to not get warnings if mysql_client_test.test fails
mysql-test/t/index_merge_ror.test:
Proper fix for 64 bit intel (which gives uses another, equal good index)
mysql-test/t/ps.test:
Fix to not get warnings if mysql_client_test.test fails
sql-common/client.c:
More debugging
sql/sql_prepare.cc:
Fixed bug in mysql_stmt_fetch() when retrieving rows to return
sql/sql_select.cc:
More debugging
tests/mysql_client_test.c:
More debugging
mysql-test/r/subselect.result:
test fro bug 10020
mysql-test/t/subselect.test:
bug 10020 test suite
sql/item.cc:
any constant allowed here BUG#10020)
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
The problem: base_list::remove didn't modify base_list::last when removing
the last list element.
The fix: If we remove the last element, find the element before it (by walking
from the beginning of the list) and set base_list::last accordingly.
The list gets corrupted in both 4.0 and 4.1. There are no visible problems in
current 4.1 because current 4.1 doesn't call where_cond->fix_fields() after
constant propagation step.
mysql-test/r/select.result:
Testcase for BUG#10095
mysql-test/t/select.test:
Testcase for BUG#10095
sql/sql_list.h:
Fix for BUG#10095: {wrong query results because of incorrect constant propagation}
The problem: base_list::remove didn't modify base_list::last when removing
the last list element.
The fix: If we remove the last element, find the element before it (by walking
from the beginning of the list) and set base_list::last accordingly.
To solve bug#6193, also reset require when using 'eval' for running query
mysql-test-run.pl:
In cleanup, remove possible soft link to var directory
mysql-test/mysql-test-run.pl:
In cleanup, remove possible soft link to var directory
client/mysqltest.c:
To solve bug#6193, also reset require when using 'eval' for running query