Change optimizer to prefer key lookups before table scan
Change table scans to be done after tables with constrains on scanned table
mysql-test/r/distinct.result:
Update results
mysql-test/r/group_by.result:
Update results
mysql-test/r/heap.result:
Update results
mysql-test/r/join.result:
Update results
mysql-test/r/key_diff.result:
Update results
mysql-test/r/myisam.result:
Update results
mysql-test/r/order_by.result:
Update results
mysql-test/r/select_safe.result:
Update results
mysql-test/t/distinct.test:
Change test to be repeatable
mysql-test/t/join.test:
Change test to be repeatable
mysql-test/t/select_safe.test:
Add tests for MAX_SEEKS_FOR_KEY
sql/handler.h:
Optimize structure for 64 bit machines (and to avoid problems with gdb)
sql/item_cmpfunc.cc:
Initialize not_null_tables_cache properly
sql/mysqld.cc:
Added max_seeks_for_key
sql/set_var.cc:
Added max_seeks_for_key
sql/sql_class.h:
Added max_seeks_for_key
sql/sql_select.cc:
Added max_seeks_for_key
Change optimizer to prefer key lookups before table scan.
Change table scans to be done after tables with constrains on scanned table
into sanja.is.com.ua:/home/bell/mysql/bk/work-top2-4.1
mysql-test/r/subselect.result:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
fixed BUG #726
mysql-test/r/subselect.result:
test of bug #726
mysql-test/t/subselect.test:
test of bug #726
sql/item_cmpfunc.cc:
cond_count moved to SELECT_LEX_NODE
sql/item_subselect.cc:
fixed current_select pointer
sql/sql_base.cc:
cond_count moved to SELECT_LEX_NODE
sql/sql_class.cc:
cond_count moved to SELECT_LEX_NODE
sql/sql_class.h:
cond_count moved to SELECT_LEX_NODE
sql/sql_lex.cc:
cond_count moved to SELECT_LEX_NODE
sql/sql_lex.h:
cond_count moved to SELECT_LEX_NODE
sql/sql_select.cc:
cond_count moved to SELECT_LEX_NODE
mysql-test/r/select.result:
Added test for LEFT JOIN optimization
mysql-test/t/select.test:
Added test for LEFT JOIN optimization
sql/item.h:
LEFT JOIN optimization
sql/item_cmpfunc.cc:
LEFT JOIN optimization
sql/item_cmpfunc.h:
LEFT JOIN optimization
sql/item_func.cc:
LEFT JOIN optimization
sql/item_func.h:
LEFT JOIN optimization
sql/item_strfunc.cc:
LEFT JOIN optimization
sql/sql_base.cc:
Heart of LEFT JOIN optimization
mysql-test/r/user_var.result:
added tests for user variables comparing (bug #551)
mysql-test/t/user_var.test:
added tests for user variables comparing (bug #551)
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_subselect.h:
Auto merged
sql/sql_derived.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.h:
Auto merged
mysql-test/r/subselect.result:
merging (wiil be fixed after building)
sql/item_subselect.cc:
merging
sql/sql_select.cc:
merging
fixed bug of current select pointer in subselect execution
fixed layuot
mysql-test/r/subselect.result:
test of update with IGNORE option and error in subselect
mysql-test/t/subselect.test:
test of update with IGNORE option and error in subselect
sql/item_subselect.cc:
fixed bug of current select pointer
sql/mysqld.cc:
error converting to warnings if hd->lex.current_select->no_error id true
layout fixed
sql/sql_lex.cc:
initialization
sql/sql_lex.h:
flag which force converting errors to warnings
sql/sql_select.cc:
switch on error convering to warnings in select executing if IGNORE option present
Looks a bit nicer than previous one
mysql-test/r/insert.result:
Test results added
mysql-test/t/insert.test:
testcase for the bug added
sql/field.h:
Field::set_default fixed
sql/field_conv.cc:
Now we can just replace field->reset() with field->set_default() here
mysql-test/r/innodb.result:
Fixed test case after innodb optimize->analyze fix
mysys/mf_pack.c:
Added comments
sql/log_event.cc:
Fixed usage of fn_format()
sql/slave.cc:
Indentation fixes and comments cleanup
sql/sql_repl.cc:
Comment cleanup
mysql-test/r/grant.result:
Test of grant BUG
mysql-test/t/grant.test:
Test of grant BUG
sql/sql_acl.cc:
SHOW GRANTS hided real grants when grants on both column and table (Bug 654)
Code cleanup (Bigger than intended because of editor problem)
sql/sql_acl.h:
Fixed grant bug
into gluh.mysql.r18.ru:/home/gluh/mysql-4.1.DTFUNC
sql/field.cc:
Auto merged
sql/item_create.cc:
Auto merged
sql/item_create.h:
Auto merged
sql/lex.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/protocol.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/time.cc:
Auto merged
This way 3.23.58 slaves will always detect a 4.0.14 master (and stop)
immediately. BUG#198.
mysql-test/r/rpl_log.result:
result update (the relay log now contains a fake Rotate_log_event).
mysql-test/r/rpl_log_pos.result:
result update (the relay log now contains a fake Rotate_log_event).
outer resolved fields now do not marked as dependent if they is not really belong to outer SELECT
one-letter variables name fixed
mysql-test/r/subselect.result:
test of bug 679
mysql-test/t/subselect.test:
test of bug 679
sql/item.cc:
outer resolved fields now do not marked as dependent if they is not really belong to outer SELECT
one-letter variables name fixed
into sanja.is.com.ua:/home/bell/mysql/bk/work-item-4.1
sql/item.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
Removed non-generic info (key used blocks)
preload.result, preload.test, lex.h, sql_yacc.yy:
Syntax change for preload statement
sql/sql_yacc.yy:
Syntax change for preload statement
sql/lex.h:
Syntax change for preload statement
mysql-test/t/preload.test:
Removed non-generic info (key used blocks)
mysql-test/r/preload.result:
Removed non-generic info (key used blocks)
BitKeeper/etc/logging_ok:
auto-union
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/rpl_rotate_logs.result:
result update
mysql-test/t/rpl_rotate_logs.test:
comments and test update with the error code
sql/slave.cc:
A DBUG_PRINT
sql/sql_repl.cc:
Use ER_MASTER_INFO instead of custom message and zero error code (which display
badly).
with 'head').
Test fix (this sync_with_master was nonsense).
Now all tests pass in 4.0 in autobuild.
mysql-test/mysql-test-run.sh:
Error reporting (how mysql-test-run filters the messages which mysqltest prints
on stderr) is not reliable. It does a 'head the first line only' which in
my case caused me to lose some time, because in fact the worrying message was
on the second line (logically, the one which caused the die() is at the
end of the $TIMEFILE file, not at the beginning).
Doing a 'tail' is better but not perfect (depending on the build, one may get
"Maximum memory usage" as the last line); it's always good to have all messages
and spot the important one oneself. So we print all $TIMEFILE (that's a few lines
at most).
mysql-test/t/rpl_rotate_logs.test:
Dont sync_with_master as the SQL slave thread may be stopped at this moment;
just wait_for_slave_to_stop. Doing sync_with_master caused a non-deterministic
behaviour, because (note that save_master_pos was called to early) sometimes
MASTER_POS_WAIT() started before the SQL thread died (because of unique
violation) so returned 0, other times it started after the SQL thread died
so returned NULL (which is reported by mysqltest as an error, on stderr).
More messages.
Testcase for bug 651.
client/mysqltest.c:
More explicit error message if MASTER_POS_WAIT() returns NULL.
mysql-test/r/rpl_loaddata.result:
result update
mysql-test/r/rpl_master_pos_wait.result:
result update
mysql-test/t/rpl000001.test:
sync_with_master (=MASTER_POS_WAIT()) was called when we could expect the SQL slave thread had stopped.
As I yesterday changed code so that "SQL thread stops => MASTER_POS_WAIT() returns NULL immediately" (bugfix),
sync_with_master received NULL (on build.mysql.com, not on my machine; this is a question of milliseconds,
if the slave server will process MASTER_POS_WAIT() before or after the slave SQL thread has stopped), and
in mysqltest.c, sync_with_master complained that it could not sync.
So I just remove this sync_with_master, which does not make sense anymore: we just wait for the slave SQL
thread to stop.
mysql-test/t/rpl_loaddata.test:
Discovered we had wait_for_slave_to_stop, so used it as it automates things.
mysql-test/t/rpl_master_pos_wait.test:
Discovered we had 'send' to send a query without waiting for the resultn so could had a testcase for bug 651.
Shorter timeouts as there is no risk the position is reached.
sql/slave.cc:
A longer DBUG_PRINT.