into polly.local:/home/kaa/src/maint/bug27643/my51-bug27643
mysql-test/r/ctype_ucs2_def.result:
Auto merged
mysql-test/r/heap_hash.result:
Auto merged
mysql-test/t/ctype_ucs2_def.test:
Auto merged
mysql-test/t/heap_hash.test:
Auto merged
sql/sql_select.cc:
Auto merged
strings/ctype-bin.c:
Auto merged
strings/ctype-mb.c:
Auto merged
strings/ctype-ucs2.c:
Auto merged
Problem:
HASH indexes on VARCHAR columns with binary collations did not ignore trailing spaces from strings before comparisons. This could result in duplicate records being successfully inserted into a MEMORY table with unique key constraints.
As a direct consequence of the above, internal MEMORY tables used for GROUP BY calculation in testcases for bug #27643 contained duplicate rows which resulted in duplicate key errors when converting those temporary tables to MyISAM. Additionally, that error was incorrectly converted to the 'table is full' error.
Solution:
- ignore trailing spaces in VARCHAR fields with binary collations when calculating hashes.
- return a proper error from create_myisam_from_heap() when conversion fails.
mysql-test/r/ctype_ucs2_def.result:
Added a testcase for bug #27643.
mysql-test/r/heap_hash.result:
Added a testcase for bug #27643.
mysql-test/t/ctype_ucs2_def.test:
Added a testcase for bug #27643.
mysql-test/t/heap_hash.test:
Added a testcase for bug #27643.
sql/sql_select.cc:
Return an appropriate error instead of 'table is full' when conversion from MEMORY to MyISAM fails.
strings/ctype-bin.c:
Added my_hash_sort_8bit_bin() which ignores trailing spaces when calculating hashes, and is now used for VARCHAR columns instead of my_hash_sort_bin().
strings/ctype-mb.c:
Ignore trailing spaces when calculating a string hash in my_hash_sort_mb_bin().
strings/ctype-ucs2.c:
Ignore trailing spaces when calculating a string hash in my_hash_sort_ucs2_bin().
into mysql.com:/d2/hf/mrg/mysql-5.1-opt
mysql-test/r/auto_increment.result:
Auto merged
mysql-test/r/create.result:
Auto merged
mysql-test/r/insert.result:
Auto merged
mysql-test/r/insert_select.result:
Auto merged
mysql-test/r/insert_update.result:
Auto merged
mysql-test/r/key.result:
Auto merged
mysql-test/r/kill.result:
Auto merged
mysql-test/r/null.result:
Auto merged
mysql-test/r/null_key.result:
Auto merged
mysql-test/r/ps_2myisam.result:
Auto merged
mysql-test/r/ps_3innodb.result:
Auto merged
mysql-test/r/ps_4heap.result:
Auto merged
BitKeeper/deleted/.del-ps_6bdb.result:
Auto merged
mysql-test/r/ps_5merge.result:
Auto merged
mysql-test/r/ps_7ndb.result:
Auto merged
mysql-test/r/strict.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/kill.test:
Auto merged
mysql-test/t/strict.test:
Auto merged
sql/field.cc:
Auto merged
sql/field_conv.cc:
Auto merged
sql/item_func.cc:
Auto merged
mysql-test/r/type_enum.result:
merging
mysql-test/r/warnings.result:
merging
mysql-test/t/type_enum.test:
merging
sql/sql_select.cc:
merging
into gleb.loc:/home/uchum/work/bk/mysql-5.1-opt
sql/sql_class.h:
Auto merged
mysql-test/r/view.result:
Merge with 5.0-opt.
mysql-test/t/view.test:
Merge with 5.0-opt.
sql/sql_update.cc:
Merge with 5.0-opt.
into mysql.com:/nfsdisk1/lars/bk/mysql-5.1-new-rpl
include/config-win.h:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_update.cc:
Auto merged
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build-work-nn
mysql-test/t/blackhole.test:
Auto merged
mysql-test/t/mysqltest.test:
Auto merged
mysql-test/t/sp_trans.test:
Auto merged
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build-work-nn
mysql-test/t/mysqlbinlog.test:
Auto merged
mysql-test/t/mysqltest.test:
Auto merged
mysql-test/t/sp_trans.test:
Auto merged
mysql-test/t/user_var-binlog.test:
Auto merged
BitKeeper/deleted/.del-ctype_cp932_notembedded.test~3047e508460cef42:
Auto merged
mysql-test/extra/binlog_tests/blackhole.test:
Auto merged
mysql-test/extra/binlog_tests/ctype_cp932_binlog.test:
Auto merged
mysql-test/extra/binlog_tests/ctype_ucs_binlog.test:
Auto merged
mysql-test/extra/binlog_tests/drop_temp_table.test:
Auto merged
mysql-test/extra/binlog_tests/insert_select-binlog.test:
Auto merged
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
Auto merged
mysql-test/extra/binlog_tests/binlog.test:
needs no change in 5.1 as it is in a separate folder
mysql-test/r/binlog_stm_mix_innodb_myisam.result:
needs regeneration
mysql-test/t/mysqlbinlog-cp932.test:
needs no change because already has dependency on binlog format
mysql-test/t/mysqlbinlog2.test:
needs no change because already has dependency on binlog format
mysql-test/r/mix_innodb_myisam_binlog.result:
have_log_bin.inc increases transaction count by onw
mysql-test/t/binlog.test:
test obviously requires binlog
mysql-test/t/blackhole.test:
test requires binlog for now
mysql-test/t/ctype_cp932_binlog.test:
test requires binlog
mysql-test/t/ctype_cp932_notembedded.test:
test requires binlog for now
mysql-test/t/ctype_ucs_binlog.test:
test requires binlog
mysql-test/t/drop_temp_table.test:
test requires binlog for now
mysql-test/t/flush_block_commit_notembedded.test:
test requires binlog for now
mysql-test/t/insert_select-binlog.test:
test requires binlog
mysql-test/t/mix_innodb_myisam_binlog.test:
test requires binlog
mysql-test/t/mysqlbinlog-cp932.test:
test requires binlog
mysql-test/t/mysqlbinlog.test:
test requires binlog
mysql-test/t/mysqlbinlog2.test:
test requires binlog
mysql-test/t/mysqltest.test:
test requires binlog for now
mysql-test/t/sp_trans.test:
test requires binlog for now
mysql-test/t/user_var-binlog.test:
test requires binlog for now
mysqld crashed when a long-running explain query was killed from
another connection.
When the current thread caught a kill signal executing the function
best_extension_by_limited_search it just silently returned to
the calling function greedy_search without initializing elements of
the join->best_positions array.
However, the greedy_search function ignored thd->killed status
after a calls to the best_extension_by_limited_search function, and
after several calls the greedy_search function used an uninitialized
data from the join->best_positions[idx] to search position in the
join->best_ref array.
That search failed, and greedy_search tried to call swap_variables
function with NULL argument - that caused a crash.
sql/sql_select.cc:
Fixed bug #28598.
choose_plan(), greedy_search(), best_extension_by_limited_search()
and find_best() functions have been changed to return TRUE in case
of fatal error.
mysql-test/t/kill.test:
Updated test case for bug #28598.
mysql-test/r/kill.result:
Updated test case for bug #28598.
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51
include/my_global.h:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
strings/strtod.c:
Auto merged
refining the test because of Bug #28786 'reset master' does not reset binlogging on embeded server
mysql-test/t/binlog_killed.test:
the test can not pass on embedded server. Setting the include-guard.
ENUM fields internally store their values as integers and may use integer
values as indexes to their values. Invalid values are mapped to zero value.
When storing an empty string the ENUM field fails to find an appropriate value
and tries to convert the provided string to integer. The conversion also
fails and error is returned even if the thd->count_cuted_fields is set to
CHECK_FIELD_IGNORE. This makes the range optimizer wrongly decide that an
impossible range is present.
Now the Field_enum::store() returns error while storing an empty string only
if the thd->count_cuted_fields isn't set to CHECK_FIELD_IGNORE.
sql/field.cc:
Bug#28729: Field_enum wrongly reported an error while storing an empty string.
Now the Field_enum::store() returns error while storing an empty string only
if the thd->count_cuted_fields isn't set to CHECK_FIELD_IGNORE.
mysql-test/r/type_enum.result:
Added a test case for the bug#28729: Field_enum wrongly reported an error
while storing an empty string.
mysql-test/t/type_enum.test:
Added a test case for the bug#28729: Field_enum wrongly reported an error
while storing an empty string.
into moonbone.local:/mnt/gentoo64/work/test-5.1-opt-mysql
mysql-test/r/olap.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/sp.test:
Auto merged
sql/field.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/analyse.result:
Manual merge
mysql-test/r/sp.result:
Manual merge
sql/item_timefunc.cc:
Manual merge
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build-work
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/date_formats.result:
Auto merged
mysql-test/t/date_formats.test:
Auto merged
mysql-test/r/rpl_ndb_basic.result:
Masking out error that is not generated by the test itself
mysql-test/t/rpl_ndb_basic.test:
Masking out error that is not generated by the test itself
mysql-test/r/auto_increment.result:
result fix
mysql-test/r/create.result:
result fix
mysql-test/r/insert.result:
result fix
mysql-test/r/insert_select.result:
result fix
mysql-test/r/insert_update.result:
result fix
mysql-test/r/key.result:
result fix
mysql-test/r/null.result:
result fix
mysql-test/r/null_key.result:
result fix
mysql-test/r/ps_2myisam.result:
result fix
mysql-test/r/ps_3innodb.result:
result fix
mysql-test/r/ps_4heap.result:
result fix
mysql-test/r/ps_5merge.result:
result fix
mysql-test/r/ps_6bdb.result:
result fix
mysql-test/r/ps_7ndb.result:
result fix
mysql-test/r/strict.result:
result fix
mysql-test/r/view.result:
result fix
mysql-test/r/warnings.result:
result fix
mysql-test/t/strict.test:
test fix
Problem: there is an ASSERT() in the Log_event::read_log_event() checking the integrity
of the event's data that may fail.
Fix: move the assert's condition to an explicit check.
mysql-test/r/ctype_cp932_binlog_stm.result:
Fix for bug #28436: Incorrect position in SHOW BINLOG EVENTS causes server coredump
- test result.
mysql-test/t/ctype_cp932_binlog_stm.test:
Fix for bug #28436: Incorrect position in SHOW BINLOG EVENTS causes server coredump
- test case.
sql/log_event.cc:
Fix for bug #28436: Incorrect position in SHOW BINLOG EVENTS causes server coredump
- assert's condition moved to the explicit integrity check.
Fixed test case rpl_incident.test (synchronize drop table, masked IO thread behaviour)
mysql-test/r/rpl_incident.result:
Masking master_log_file since IO thread is not synchronized in rpl_incident.test
mysql-test/t/rpl_incident.test:
Masking master_log_file since IO thread is not synchronized in rpl_incident.test
Correcting drop of table so it is synchronized
sql/log_event.cc:
Added extra parenthesis to remove compiler warning
test comments correction
mysql-test/r/binlog_killed.result:
changed
mysql-test/t/binlog_killed.test:
wrong comments (but important ones) left;
little refinement in result calc
Problem: Unicode->UJIS followed incorrect conversion
rules for U+00A5 YEN SIGN and U+203E OVERLINE,
so these characters were converted to ujis 0x8E5C
and 0x8E7E accordingly.
This behaviour would be correct for a JIS-X-0201 based character set,
but this is wrong for UJIS, which is documented as x-eucjp-unicode-0.9,
and which is based on ASCII for the range U+0000..U+007F.
Fix:
removing JIS-X-0201 conversion rules, making UJIS ASCII compatible.
YEN SIGN and OVERLINE do not have corresponding UJIS characters anymore
and converted to 0x3F QUESTION MARK, throwing a warning in appropriative cases.
This patch also includes a test covering full UJIS->Unicode->UJIS mapping.
sql/field.cc:
Nicer error message format:
always use HEX notation when printing warnings about UCS2 values -
this is more readable.
strings/ctype-ujis.c:
Removing incorrect Unicode->UJIS mapping.
MySQL "UJIS" is x-eucjp-unicode-0.9.
mysql-test/r/ctype_ujis_ucs2.result:
New BitKeeper file ``mysql-test/r/ctype_ujis_ucs2.result''
mysql-test/t/ctype_ujis_ucs2.test:
New BitKeeper file ``mysql-test/t/ctype_ujis_ucs2.test''