Fixing part2 of this problem: AND didn't work well
with utf8_czech_ci and utf8_lithianian_ci in some cases.
The problem was because when during condition optimization
field was replaced with a constant, the constant's collation
and collation derivation was used later for comparison instead
of the field collation and derivation, which led to non-equal
new condition in some cases.
This patch copies collation and derivation from the field being removed
to the new constant, which makes comparison work using the same collation
with the one which would be used if no condition optimization were done.
In other words:
where s1 < 'K' and s1 = 'Y';
was rewritten to:
where 'Y' < 'K' and s1 = 'Y';
Now it's rewritten to:
where 'Y' collate collation_of_s1 < 'K' and s1 = 'Y'
(using derivation of s1)
Note, the first problem of this bug (with latin1_german2_ci) was fixed
earlier in 5.0 tree, in a separate changeset.
mysql-test/r/ctype_utf8.result:
Adding test case
mysql-test/t/ctype_utf8.test:
Adding test case
sql/sql_select.cc:
Set proper collation of the new item
Remove duplicate test case for bug#14169
mysql-test/t/func_gconcat.test:
Remove duplicate test case for bug#14169
mysql-test/r/func_gconcat.result:
Remove duplicate test case for bug#14169
Removed rpl_ndb_relay_space test since it does not make sense (in
its current form) for NDB.
BitKeeper/deleted/.del-rpl_ndb_relay_space.test~55e5e4b13d3936d0:
Delete: mysql-test/t/rpl_ndb_relay_space.test
BitKeeper/deleted/.del-rpl_ndb_relay_space.result~a44835cdd2210d18:
Delete: mysql-test/r/rpl_ndb_relay_space.result
into c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/wl2826
configure.in:
Auto merged
dbug/dbug.c:
Auto merged
include/my_sys.h:
Auto merged
sql/ha_heap.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/partition_info.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_partition.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
BUILD/SETUP.sh:
manual merge
BUILD/compile-pentium-debug-max:
manual merge
sql/ha_ndbcluster.cc:
manual merge
sql/ha_ndbcluster.h:
manual merge
sql/ha_partition.cc:
manual merge
sql/ha_partition.h:
manual merge
sql/handler.h:
manual merge
sql/share/errmsg.txt:
manual merge
sql/sql_table.cc:
manual merge
sql/unireg.cc:
manual merge
mysql-test/mysql-test-run.pl:
Turn on test timing by default, but make it so it can be turned off with
--notimer. Also clean up the mysql-test-run.pl usage information a little
bit, and add --benchdir to it.
Corrected test case for the bug#14169 to make it pass in --ps-protocol mode.
mysql-test/r/func_gconcat.result:
Corrected test case for the bug#14169 to make it pass in --ps-protocol mode.
into mysql.com:/opt/local/work/mysql-5.1-merge
mysql-test/r/ps.result:
Auto merged
mysql-test/t/ps.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/set_var.cc:
Manual merge.
sql/set_var.h:
Manual merge.
sql/share/errmsg.txt:
Manual merge.
This is not a bug. Enabling disabled test and adding comment.
mysql-test/extra/rpl_tests/rpl_sv_relay_space.test:
Adding comment about test.
mysql-test/r/rpl_ndb_relay_space.result:
Result change.
mysql-test/r/rpl_relay_space_innodb.result:
Result change.
mysql-test/r/rpl_relay_space_myisam.result:
Result change.
mysql-test/t/disabled.def:
Enabling test
While executing a trigger, we have to set thd->abort_on_warning to the value
it had at trigger creation time.
mysql-test/r/trigger.result:
Add result for bug#6951.
mysql-test/t/trigger.test:
Add test case for bug#6951.
sql/sp_head.cc:
While executing a trigger, set thd->abort_on_warning to the value it had at
trigger creation time.
Updating data in HEAP table with BTREE index results in wrong index_length
counter value, which keeps growing after each update.
When inserting new record into tree counter is incremented by:
sizeof(TREE_ELEMENT) + key_size + tree->size_of_element
But when deleting element from tree it doesn't decrement counter by key_size:
sizeof(TREE_ELEMENT) + tree->size_of_element
This fix makes accurate allocated memory counter for tree. That is
decrease counter by key_size when deleting tree element.
heap/hp_delete.c:
Added size of the key to tree_delete() for accurate allocated memory counter.
include/my_tree.h:
Added size of the key to tree_delete() for accurate allocated memory counter.
myisam/myisamlog.c:
Added size of the key to tree_delete() for accurate allocated memory counter.
mysql-test/r/heap_btree.result:
Testcase for BUG#18160.
mysql-test/t/heap_btree.test:
Testcase for BUG#18160.
mysys/tree.c:
Added size of the key to tree_delete() for accurate allocated memory counter.
Note that this size is optional. If one doesn't need precise counter it is safe
to pass 0 as key_size.
mysql-test/r/ndb_alter_table2.result:
Fixed timeing problem by ignoring failures and results from first select after table definition changethe
mysql-test/r/ndb_alter_table_stm.result:
Fixed timeing problem by ignoring failures and results from first select after table definition changethe
(Problem with embedded server and ndb)
Fix broken mysql-test-run.sh
Removed memory leak in ha_example.cc
libmysqld/Makefile.am:
Fix compiler failure (libmysqld.a was empty)
Reason was that 'cd' did an echo that confused 'ar'
mysql-test/mysql-test-run.pl:
Make the port number in a nice range
mysql-test/mysql-test-run.sh:
Remove deprication message until speed of mysql-test-run.pl is comparable to mysql-test-run.sh
Fix code that jimw broke in his last change
storage/example/ha_example.cc:
Removed memory leak
(example_done_func was not called)
The bug caused a reported index corruption in the cases when
key_cache_block_size was not a multiple of myisam_block_size,
e.g. when key_cache_block_size=1536 while myisam_block_size=1024.
mysql-test/r/key_cache.result:
Added a test case for bug #19079.
mysql-test/t/key_cache.test:
Added a test case for bug #19079.