so that it really tests replication of SET FOREIGN_KEY_CHECKS (previously
it used MyISAM).
mysql-test/r/rpl_insert_id.result:
result update
mysql-test/t/rpl_insert_id.test:
Make test use InnoDB, and added foreign keys to the table, so that it really tests
replication of FOREIGN_KEY_CHECKS.
--disable_warnings because 4.1 prints a warning when the table type
is not available.
myisam/mi_check.c:
Fixed memory overrun in _mi_put_key_in_record
myisam/mi_key.c:
Fixed unnecessary memory allocation
mysql-test/r/insert_select.result:
Added test case for memory corruption
mysql-test/t/insert_select.test:
Added test case for memory corruption
mysys/safemalloc.c:
Removed compiler warnings
sql/sql_acl.cc:
Fixed core dump when running with --debug
Fixed test for binary build
mysql-test/r/rpl_max_relay_size.result:
Fixed test for binary build
mysql-test/t/rpl_max_relay_size.test:
Fixed test for binary build
sql/log.cc:
Fixed wrong test in close
mysql-test/t/rpl_flush_log_loop.test:
Add timer to avoid problem when 'flush logs' is executed before we have read all data from master
sql/log.cc:
Better fix for bug #791:
Mark log as LOG_TO_BE_OPENED instead of LOG_CLOSED when it's closed and opened.
sql/mysqld.cc:
Better startup message
sql/slave.cc:
Fix argument to close()
sql/sql_class.h:
Better handling of log.close()
Changed is_open() to work as before.
Added back inited argument to LOG
mysql-test/r/rpl_flush_log_loop.result:
Fixed results (probably bug in previous rpatch)
sql/handler.cc:
Changed is_open() to work as before
sql/item_func.cc:
Changed is_open() to work as before
sql/log.cc:
Part revert of previous patch.
The reason for adding back 'inited' is that is that we can't be 100 % sure that init_pthread_objects() is called before mysqld dies (for example on windows)
I removed mutex lock handling in is_open() as the new code didn't have ANY affect except beeing slower.
Added back checking of is_open() to some functions as we don't want to do a mutex lock when we are not using logging.
Indentation/comment fixes
sql/log_event.cc:
Changed is_open() to work as before
sql/repl_failsafe.cc:
Changed is_open() to work as before
sql/sql_base.cc:
Changed is_open() to work as before
sql/sql_class.h:
Changed is_open() to work as before. Added back 'inited' variable
sql/sql_db.cc:
Changed is_open() to work as before
sql/sql_delete.cc:
Changed is_open() to work as before
sql/sql_insert.cc:
Changed is_open() to work as before
sql/sql_load.cc:
Changed is_open() to work as before
sql/sql_parse.cc:
Changed is_open() to work as before
sql/sql_rename.cc:
Changed is_open() to work as before
sql/sql_repl.cc:
Changed is_open() to work as before
sql/sql_table.cc:
Changed is_open() to work as before
sql/sql_update.cc:
Changed is_open() to work as before
port number can be different from 3306 when doing the release builds
with Do-compile, therefore it has to be replaced with the correct
value during the test run using the "--replace_result" function.
mysql-test/r/rpl_error_ignored_table.result:
- replaced hard-coded master port number with MASTER_PORT variable, since
the port number is different when running the test suite during the
release builds with "Do-compile".
mysql-test/t/rpl_error_ignored_table.test:
- replaced hard-coded master port number with MASTER_PORT variable, since
the port number is different when running the test suite during the
release builds with "Do-compile".
"mysqlhotcopy fails to copy tables but does not indicate a failure"
("does not indicate a failure");
this is about "mysqlhotcopy fails to copy tables".
mysql-test/t/rpl_error_ignored_table-slave.opt:
added a missing newline
scripts/mysqlhotcopy.sh:
Fix for BUG#812.
The problem was that with many tables to copy (10000 in the bug's example),
the generated 'cp' command line was 1MB long, whereas (at least on my Linux) it
should not exceed 128 kB. Testing the 'cp' in a shell terminal gives
"arguments list too long".
So we issue several small (100 kB) 'cp' command lines instead of a big one.
Of course, this will still fail on systems where the limit is below 100 kB.
We now have safe_system() which cuts the command line in pieces,
and calls safe_simple_system() (execution) for each piece.
Removed double my_thread_end() which caused fatal error on windows if mysqld died on startup
myisam/mi_extra.c:
Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
mysql-test/r/alter_table.result:
Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
mysql-test/t/alter_table.test:
Test DISABLE/ENABLE KEY
sql/ha_myisam.cc:
Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
sql/mysqld.cc:
Removed double my_thread_end() which caused fatal error on windows if mysqld died on startup
sql/sql_table.cc:
Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
sql/table.cc:
Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
sql/table.h:
Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
BUG#797 "If query ignored on slave (replicate-ignore-table) the slave still checks if
the returned error (0) is the same as the one on the master, whereas it shouldn't
test this.
Plus a new test for BUG#797.
include/mysqld_error.h:
New error code (can be sent only to the slave thread, not to normal clients).
sql/log.cc:
removed comment from a previous debugging.
sql/log_event.cc:
ER_SLAVE_IGNORED_TABLE is an ignorable error.
sql/share/czech/errmsg.txt:
for BUG#797
sql/share/danish/errmsg.txt:
for BUG#797
sql/share/dutch/errmsg.txt:
for BUG#797
sql/share/english/errmsg.txt:
for BUG#797
sql/share/estonian/errmsg.txt:
for BUG#797
sql/share/french/errmsg.txt:
for BUG#797
sql/share/german/errmsg.txt:
for BUG#797
sql/share/greek/errmsg.txt:
for BUG#797
sql/share/hungarian/errmsg.txt:
for BUG#797
sql/share/italian/errmsg.txt:
for BUG#797
sql/share/japanese/errmsg.txt:
for BUG#797
sql/share/korean/errmsg.txt:
for BUG#797
sql/share/norwegian-ny/errmsg.txt:
for BUG#797
sql/share/norwegian/errmsg.txt:
for BUG#797
sql/share/polish/errmsg.txt:
for BUG#797
sql/share/portuguese/errmsg.txt:
for BUG#797
sql/share/romanian/errmsg.txt:
for BUG#797
sql/share/russian/errmsg.txt:
for BUG#797
sql/share/slovak/errmsg.txt:
for BUG#797
sql/share/spanish/errmsg.txt:
for BUG#797
sql/share/swedish/errmsg.txt:
for BUG#797
sql/share/ukrainian/errmsg.txt:
for BUG#797
sql/sql_parse.cc:
when in sql_parse in the slave thread we ignore the query because of replicate-do
and replicate-ignore options, we return a specific error to the slave thread,
so that it knows that the query has been ignored (which is different from a
successful query).
A small cleanup (test was done twice).
FLUSH LOGS now rotates relay logs,
and a new variable max_relay_log_size.
Plus a very small bit of code cleaning.
libmysqld/lib_sql.cc:
open_log has no default arguments anymore.
mysql-test/r/rpl_flush_log_loop.result:
result update now that FLUSH LOGS rotates relay logs.
mysql-test/r/rpl_log.result:
result update now that FLUSH LOGS rotates relay logs.
mysql-test/r/rpl_rotate_logs.result:
result update now that max_binlog_size is 4096.
mysql-test/t/rpl_rotate_logs-master.opt:
now max_binlog_size must be a multiple of 4096 (see change in mysqld.cc)
sql/log.cc:
Got rid of default arguments of various MYSQL_LOG methods (the default arguments
made code reading uneasy).
Set max_size in ::init().
New function set_max_size() to set max_size of a MYSQL_LOG on-the-fly.
More DBUG info.
sql/mysql_priv.h:
no defaults in open_log().
New variables max_relay_log_size.
sql/mysqld.cc:
New variable and option max_relay_log_size.
max_binlog_size and max_relay_log_size are multiples of IO_SIZE.
No more default arguments for log functions.
sql/set_var.cc:
New variable max_relay_log_size.
If it is 0, then max_binlog_size will apply to relay logs.
When one of these variables is changed, fix_max_%log_size is called
to update max_size of the binary and/or relay logs.
sql/slave.cc:
New function rotate_relay_log().
sql/slave.h:
New function rotate_relay_log().
sql/sql_class.h:
New member max_size of MYSQL_LOG (for automatic rotation).
New method set_max_size() for setting on-the-fly.
sql/sql_parse.cc:
Flush the relay log in FLUSH LOGS.
mysql-test/r/handler.result:
test case for the bug #787: HANDLER without INDEX doesn't work with deleted rows
mysql-test/t/handler.test:
test case for the bug #787: HANDLER without INDEX doesn't work with deleted rows
sql/sql_handler.cc:
fix for the bug #787: HANDLER without INDEX doesn't work with deleted rows
check for negative count in RPAD added
mysql-test/r/func_str.result:
Appropriate result
mysql-test/t/func_str.test:
testcase added
sql/item_strfunc.cc:
we return NULL if count < 0
Remove unaligned warnings on Ia64 from client library when using --host
Fix for replication when using many file descriptors
include/my_global.h:
Fix for UNIXWARE 7
libmysql/libmysql.c:
Portability fix (removes unaligned warnings on Ia64)
mysql-test/r/symlink.result:
Updated results
sql/mini_client.cc:
Ported connect timeout code from libmysql.c
Fields in key_expr (mysql_ha_read) wasn't linked to tables.
Hmm. How did it work at all?
mysql-test/r/alias.result:
It's better to delete table after the test
mysql-test/r/handler.result:
appropriate result
mysql-test/t/alias.test:
it's better to drop table after test
mysql-test/t/handler.test:
test case for #751
sql/sql_handler.cc:
fix_fields called
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