heap/hp_open.c:
Fix for the bug #775: SELECT misses rows in indexed HEAP table columns.
mysql-test/r/heap.result:
Test-case for the bug #775: SELECT misses rows in indexed HEAP table columns.
mysql-test/t/heap.test:
Test-case for the bug #775: SELECT misses rows in indexed HEAP table columns.
into narttu.mysql.fi:/my/mysql-4.0
mysql-test/r/innodb.result:
Auto merged
mysql-test/t/innodb.test:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
Tests cleanup (put drop database first in tests)
client/mysql.cc:
Cleanup of code in last pull
include/config-win.h:
Remove HAVE_CHSIZE on windows as it's not 64 bit clean
include/my_global.h:
Portability fix
mysql-test/r/drop.result:
Clean up results
mysql-test/r/flush.result:
Clean up results
mysql-test/r/grant_cache.result:
Clean up results
mysql-test/r/innodb.result:
Clean up results
mysql-test/r/insert_select.result:
Clean up results
mysql-test/r/merge.result:
Clean up results
mysql-test/r/query_cache.result:
Clean up results
mysql-test/t/drop.test:
Clean up tests
mysql-test/t/flush.test:
Clean up tests
mysql-test/t/grant_cache.test:
Clean up tests
mysql-test/t/innodb.test:
Clean up tests
mysql-test/t/insert_select.test:
Added more tests
mysql-test/t/merge.test:
Test of bug 515
mysql-test/t/query_cache.test:
Clean up tests
mysql-test/t/symlink.test:
Clean up tests
sql/mysql_priv.h:
Cleaner implementation if INSERT ... SELECT with same tables
sql/sql_lex.h:
Cleaner implementation if INSERT ... SELECT with same tables
sql/sql_list.h:
Indentation cleanup
sql/sql_parse.cc:
Cleaner implementation if INSERT ... SELECT with same tables
sql/sql_yacc.yy:
Cleaner implementation if INSERT ... SELECT with same tables
Current table is placed into read_tables set of the current join_tab->select
so get_mm_parts function thinks that current table's record is read and
tries to calculate WHERE condition with the fields of the record.
Result of these calculations is unpredictable.
Looks funny - outcome of the SELECT depends on the queries executed before.
Anyway i think we should have testcase on this part of the code.
mysql-test/r/sel000001.result:
appropriate result added
mysql-test/t/sel000001.test:
testcase added
sql/sql_select.cc:
I think we should count current table out of read_tables set
so I commit again in a fresh tree.
Fix for bug#763 (Relay_log_space too big by 4 bytes),
plus comments and DBUG_PRINT, and we don't start replication
if --bootstrap.
mysql-test/r/rpl_log.result:
Result update
mysql-test/r/rpl_log_pos.result:
Result update
sql/mysqld.cc:
Don't start replication if in bootstrap mode (bootstrap isn't supposed to have
several threads).
sql/slave.cc:
Fix for bug 763 (Relay_log_space too big by 4 bytes).
A DBUG_PRINT.
sql/sql_acl.cc:
Replaced a return by DBUG_RETURN (happened to find this reading a debug log).
sql/sql_repl.cc:
A comment.
Remove all nondeterministic tests from innodb.test; but I have to study why on 64 bits we get different estimates
mysql-test/t/innodb.test:
Remove all nondeterministic tests from innodb.test; but I have to study why on 64 bits we get different estimates
mysql-test/r/innodb.result:
Remove all nondeterministic tests from innodb.test; but I have to study why on 64 bits we get different estimates
Remove nondeterministic EXPLAIN SELECT which gives on 64-bit platforms a slightly different estimate (sometimes we should study why we get different results on 64-bit and 32-bit)
mysql-test/r/innodb.result:
Remove nondeterministic EXPLAIN SELECT which gives on 64-bit platforms a slightly different estimate (sometimes we should study why we get different results on 64-bit and 32-bit)
mysql-test/t/innodb.test:
Remove nondeterministic EXPLAIN SELECT which gives on 64-bit platforms a slightly different estimate (sometimes we should study why we get different results on 64-bit and 32-bit)
include/my_global.h:
CONFIG_SMP
mysql-test/r/grant.result:
Test cases for bug fixes
mysql-test/r/insert_select.result:
Test cases for bug fixes
mysql-test/r/union.result:
Test cases for bug fixes
mysql-test/t/grant.test:
Test cases for bug fixes
mysql-test/t/insert_select.test:
Test cases for bug fixes
mysql-test/t/union.test:
Test cases for bug fixes
sql/sql_acl.cc:
Fix for granting global privileges on db level
sql/sql_parse.cc:
Fix for INSERT... SELECT
sql/sql_select.cc:
removing a fix
sql/sql_union.cc:
P
BitKeeper/etc/logging_ok:
auto-union
sql/item_func.cc:
Auto merged
mysql-test/t/user_var.test:
Auto merged
sql/log_event.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/nt_servc.cc:
Auto merged
configure.in:
Use local version
innobase/os/os0file.c:
Use local version
innobase/page/page0page.c:
Use local version
innobase/row/row0sel.c:
Use local version
innobase/row/row0vers.c:
Use local version
mysql-test/r/order_by.result:
Use local version
mysql-test/r/user_var.result:
merge with 3.23
mysql-test/t/order_by.test:
Use local version (test is already in range.test)
sql/log.cc:
Use local version
sql/share/spanish/errmsg.txt:
merge
sql/slave.cc:
Use local version
sql/sql_class.h:
Use local version
sql/sql_select.cc:
Use patch in 4.0 for range with NULL problem
Don't set field to DEFAULT value when set to NULL
mysql-test/r/insert.result:
Updated results after patch
sql/field_conv.cc:
Revert patch: Don't set field to DEFAULT value when set to NULL
sql/item_strfunc.cc:
Optimized patch for null handling with elt
sql/opt_range.cc:
Safety fix for range with null patch
mysql-test/r/insert_select.result:
Fixed results
mysql-test/r/join_outer.result:
New test case for inner join table dependency
mysql-test/t/insert_select.test:
Remove not used drop tables.
Fixed table names
mysql-test/t/join_outer.test:
New test case for inner join table dependency
sql/slave.cc:
Simple optimizations
was used with NULL value on NOT NULL column. (Bug #479)
mysql-test/r/order_by.result:
Update of results
mysql-test/t/order_by.test:
Test of new code
sql/sql_select.cc:
Fixed problem with lookup on NULL
BUILD/compile-pentium-debug-max:
Removed -DBIG_TABLES because of problems with gdb 5.3
sql/set_var.cc:
SET CHARACTER SET DEFAULT didn't work
sql/set_var.h:
SET CHARACTER SET DEFAULT didn't work
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
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
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
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).
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.
thd->enter_cond() and exit_cond(), so that the I/O thread accepts to stop
when it's waiting for relay log space.
Reset ignore_log_space_limit to 0 when the SQL thread terminates.
mysql-test/r/rpl_relayspace.result:
result update
mysql-test/t/rpl_relayspace-slave.opt:
smaller relay_log_space_limit to speed up things.
mysql-test/t/rpl_relayspace.test:
Less queries in the test, to make it simpler.
Testcase if the IO thread blocked in wait_for_relay_log_space
accepts to stop when STOP SLAVE.
sql/slave.cc:
thd->enter_cond() and exit_cond(), so that the I/O thread accepts to stop
when it's waiting on cond (waiting for relay log space).
Reset ignore_log_space_limit to 0 when the SQL thread terminates.