Bug #17158 load data infile of char values into table of char with no (PK) fails to load
Bug #17081 Doing "LOAD DATA INFILE" directly after delete can cause missing data
mysql-test/r/ndb_load.result:
New BitKeeper file ``mysql-test/r/ndb_load.result''
mysql-test/t/ndb_load.test:
New BitKeeper file ``mysql-test/t/ndb_load.test''
mysql-test/r/ndb_blob.result:
replace+tinyblob back-patch from 5.0
mysql-test/t/ndb_blob.test:
replace+tinyblob back-patch from 5.0
ndb/src/ndbapi/NdbBlob.cpp:
replace+tinyblob back-patch from 5.0
MATCH and FULLTEXT
Fixed that fulltext query using PS results in unexpected behaviour
when executed 2 or more times.
mysql-test/r/fulltext.result:
Testcase for BUG#14496.
mysql-test/t/fulltext.test:
Testcase for BUG#14496.
sql/item_func.h:
In Item_func_match::cleanup() always reset ft_handler to 0.
mysql-test/t/rpl_ignore_table-slave.opt:
New BitKeeper file ``mysql-test/t/rpl_ignore_table-slave.opt''
mysql-test/t/rpl_ignore_table.test:
New BitKeeper file ``mysql-test/t/rpl_ignore_table.test''
sql/sql_parse.cc:
BUG#15699,16487 merge of the fix made in 5.0
mysql-test/r/rpl_multi_update4.result:
New BitKeeper file ``mysql-test/r/rpl_multi_update4.result''
mysql-test/t/rpl_multi_update4-slave.opt:
New BitKeeper file ``mysql-test/t/rpl_multi_update4-slave.opt''
mysql-test/t/rpl_multi_update4.test:
New BitKeeper file ``mysql-test/t/rpl_multi_update4.test''
mysql-test/r/rpl_ignore_table.result:
New BitKeeper file ``mysql-test/r/rpl_ignore_table.result''
mysql-test/r/update.result:
Testcase for BUG#15935
mysql-test/t/update.test:
Testcase for BUG#15935
sql/sql_update.cc:
BUG#15935:
- Do account for the fact that used_index!=MAX_KEY is also true for cases
when quick select is used, and use quick select then (and not full index scan).
- Also removed the redundant "used_index= MAX_KEY" statement
When setup_fields() function finds field named '*' it expands it to the list
of all table fields. It does so by checking that the first char of
field_name is '*', but it doesn't checks that the '* is the only char.
Due to this, when updating table with a field named like '*name', such field
is wrongly treated as '*' and expanded. This leads to making list of fields
to update being longer than list of the new values. Later, the fill_record()
function crashes by dereferencing null when there is left fields to update,
but no more values.
Added check in the setup_fields() function which ensures that the field
expanding will be done only when '*' is the only char in the field name.
mysql-test/t/update.test:
Added test case for bug#16510: Updating field named like '*name' caused server crash
mysql-test/r/update.result:
Added test case for bug#16510: Updating field named like '*name' caused server crash
sql/sql_base.cc:
Fixed bug #16510: Updating field named like '*name' caused server crash.
Added check in the setup_fields() function which ensures that the field
expanding will be done only when '*' is the only char in the field name.
into mysql.com:/home/mydev/mysql-4.1-bug5390
sql/table.h:
Auto merged
mysql-test/r/lock.result:
BUG#5390 - problems with merge tables
Manual merge from 4.0.
mysql-test/t/lock.test:
BUG#5390 - problems with merge tables
Manual merge from 4.0.
sql/lock.cc:
BUG#5390 - problems with merge tables
Manual merge from 4.0.
After-fix optimizations proposed and finally
implemented by Monty.
mysql-test/r/lock.result:
BUG#5390 - problems with merge tables
After-fix optimizations proposed and finally
implemented by Monty.
Additional test results.
mysql-test/t/lock.test:
BUG#5390 - problems with merge tables
After-fix optimizations proposed and finally
implemented by Monty.
Additional tests.
sql/lock.cc:
BUG#5390 - problems with merge tables
After-fix optimizations proposed and finally
implemented by Monty.
get_lock_data() gets a flag for storing the lock
positions in the new TABLE elements.
mysql_lock_remove() can now remove a lock faster
and more precisely as it has needed info in TABLE now.
mysql_unlock_read_tables() and mysql_lock_merge() must
now adjust the new elements of TABLE when modifying locks.
mysql_lock_have_duplicate() can now work faster on
the existing lock as the positions in the lock
arrays are known for each table.
get_lock_data() assigns the new TABLE elements
on request of the new flag.
sql/table.h:
BUG#5390 - problems with merge tables
After-fix optimizations proposed and finally
implemented by Monty.
Additional elements of TABLE.
mysql-test/r/kill.result:
BUG#14851 test
mysql-test/t/kill.test:
BUG#14851 test
sql/sql_class.cc:
Debug prints are added.
sql/sql_select.cc:
Allocation of tmp_join fixed to involve constructor (it is not related to the bug directly but might cause other problems).
Excluded posibility of tmp_table_param.copy_field double deletion (BUG#14851).
sql/sql_select.h:
JOINs constructor added, initialization of them fixed (it is not related to the bug directly but might cause other problems).
mysql-test/r/ctype_ucs.result:
Test results changed (Bug#13337)
mysql-test/r/ps.result:
Test results changed (Bug#13337)
mysql-test/t/ctype_ucs.test:
Fix Bug#13337 (move the test that uses UCS character set to
ctype_ucs)
mysql-test/t/ps.test:
Fix Bug#13337 (move the test that uses UCS character set to
ctype_ucs)
fix for bug #15828 after review
doing val_str now before testing of null value secures the function for null values returned by dynamic functions - the fix before was incomplete andy covered constant null values
mysql-test/t/date_formats.test:
fix for bug #15828 after review
doing val_str now before testing of null value secures the function for null values returned by dynamic functions - the fix before was incomplete andy covered constant null values
Fixed BUG#14056: Column prefix index on UTF-8 primary key
causes "Can't find record.."
Also fixed bug 15991.
innobase/include/os0file.h:
Changes from innodb-4.1-ss14 snapshot
os_file_hadle_error(): Map the error codes EXDEV, ENOTDIR, and EISDIR
to the new code OS_FILE_PATH_ERROR. Treat this code as OS_FILE_PATH_ERROR.
This fixes the crash on RENAME TABLE when the .ibd file is a symbolic
link to a different file system. (Bug 15991)
innobase/os/os0file.c:
Changes from innodb-4.1-ss14 snapshot
os_file_hadle_error(): Map the error codes EXDEV, ENOTDIR, and EISDIR
to the new code OS_FILE_PATH_ERROR. Treat this code as OS_FILE_PATH_ERROR.
This fixes the crash on RENAME TABLE when the .ibd file is a symbolic
link to a different file system. (Bug 15991)
mysql-test/r/innodb.result:
Changes from innodb-4.1-ss14 snapshot
Fixed BUG#14056: Column prefix index on UTF-8 primary key
causes "Can't find record.."
mysql-test/t/innodb.test:
Changes from innodb-4.1-ss14 snapshot
Fixed BUG#14056: Column prefix index on UTF-8 primary key
causes "Can't find record.."
sql/ha_innodb.cc:
Changes from innodb-4.1-ss14 snapshot
Fixed BUG#14056: Column prefix index on UTF-8 primary key
causes "Can't find record.."
return incorrect result set for a select SQL request"
mysql-test/r/ps.result:
Test results fixed (Bug#12734)
mysql-test/t/ps.test:
A test case for Bug#12734
sql/item_cmpfunc.cc:
Reset canDoTurboBM in Item_func_like::cleanup()
sql/item_cmpfunc.h:
Add Item_func_like::cleanup()
To be uncommented after fixing bug 15805.
mysql-test/r/type_time.result:
Fixing testcases results.
mysql-test/t/type_time.test:
Temporaly commented out testcases which cause type_time.test failure.
To be uncommented after fixing bug 15805.
- When acl_user->host.hostname is NULL compare it as ""
mysql-test/r/grant.result:
Test user with host ''
mysql-test/t/grant.test:
Test user with host ''
sql/sql_acl.cc:
If acl_user->host.hostname is NULL compare it as ""
mysql-test/r/having.result:
Added a test case for bug #14274.
mysql-test/t/having.test:
Added a test case for bug #14274.
sql/sql_select.cc:
Fixed bug #14274: a query with a having clause containing only set function returned a wrong result set.
It happened because processing of the set functions in having started with a call of the split_sum_func
method, instead of the split_sum_func2 method.
- DROP USER command didn't reload the acl_check_hosts cache causing subsequent
connect's via TCP to fail randomly.
- 4.1 version
mysql-test/r/grant2.result:
Update test results
mysql-test/t/grant2.test:
Add test for to check that connect via TCP work after "drop user"
sql/sql_acl.cc:
Reload acl_check_hosts as its memory is mapped to acl_user
Use acl_user->host.hostname when searching the acl_check_hosts list
When InnoDB compares varchar field in ucs2 with given key using bin collation,
it calls my_strnncollsp_ucs2_bin() to perform comparison.
Because field length was lesser than length of key field should be padded
with trailing spaces in order to get correct result.
Because my_strnncollsp_ucs2_bin() was calling my_strnncollp_ucs2_bin(), which
doesn't pads field, wrong comparison result was returned. This results in
wrong result set.
my_strnncollsp_ucs2_bin() now compares fields like my_strnncollsp_ucs2 do,
but using binary collation.
mysql-test/t/ctype_ucs.test:
Test case for bug#14583 Wrong my_strnncollsp_ucs2_bin() behaviour results in skipping
correct records.
mysql-test/r/ctype_ucs.result:
Test case for bug#14583 Wrong my_strnncollsp_ucs2_bin() behaviour results in skipping correct records.
strings/ctype-ucs2.c:
Fix bug#14583 Wrong my_strnncollsp_ucs2_bin() behaviour results in skipping
correct records.my_strnncollsp_ucs2_bin() now compares fields like my_strnncollsp_ucs2 do,
but using binary collation.
field.cc:
BLOB variations have number-in-bytes limit,
unlike CHAR/VARCHAR which have number-of-characters limits.
A tinyblob column can store up to 255 bytes.
In the case of basic Latin letters (which use 1 byte per character)
we can store up to 255 characters in a tinyblob column.
When passing an utf8 tinyblob column as an argument into
a function (e.g. COALESCE) we need to reserve 3*255 bytes.
I.e. multiply length in bytes to mbcharlen for the character set.
Although in reality a tinyblob column can never be 3*255 bytes long,
we need to set max_length to multiply to make fix_length_and_dec()
of the function-caller (e.g. COALESCE) calculate the correct max_length
for the column being created.
ctype_utf8.result, ctype_utf8.test:
Adding test case.
mysql-test/t/ctype_utf8.test:
Adding test case.
mysql-test/r/ctype_utf8.result:
Adding test case.
sql/field.cc:
Bug#15581: COALESCE function truncates mutli-byte TINYTEXT values
BLOB variations have byte limits,
unlike CHAR/VARCHAR which have number-of-character limits.
It means tinyblob can store up to 255 bytes.
All of them can be basic latin letters which use 1 byte
per character.
I.e. we can store up to 255 characters in a tinyblob column.
When passing a tinyblob column as an argument into
a function (for example COALESCE or CONCAT) we
need to reserve 3*255 bytes in the case of utf-8.
I.e. multiply length in bytes to mbcharlen for the
character set.