Commit graph

361 commits

Author SHA1 Message Date
unknown
1f82a0de6c Manual merge after commiting START SLAVE UNTIL
sql/lex.h:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
include/mysqld_error.h:
  Manual merge
mysql-test/r/rpl000015.result:
  Manual merge
mysql-test/r/rpl_empty_master_crash.result:
  Manual merge
mysql-test/r/rpl_flush_log_loop.result:
  Manual merge
mysql-test/r/rpl_log.result:
  Manual merge
mysql-test/r/rpl_log_pos.result:
  Manual merge
mysql-test/r/rpl_redirect.result:
  Manual merge
mysql-test/r/rpl_replicate_do.result:
  Manual merge
mysql-test/r/rpl_rotate_logs.result:
  Manual merge
sql/share/czech/errmsg.txt:
  Manual merge
sql/share/danish/errmsg.txt:
  Manual merge
sql/share/dutch/errmsg.txt:
  Manual merge
sql/share/english/errmsg.txt:
  Manual merge
sql/share/estonian/errmsg.txt:
  Manual merge
sql/share/french/errmsg.txt:
  Manual merge
sql/share/german/errmsg.txt:
  Manual merge
sql/share/greek/errmsg.txt:
  Manual merge
sql/share/hungarian/errmsg.txt:
  Manual merge
sql/share/italian/errmsg.txt:
  Manual merge
sql/share/japanese/errmsg.txt:
  Manual merge
sql/share/korean/errmsg.txt:
  Manual merge
sql/share/norwegian-ny/errmsg.txt:
  Manual merge
sql/share/norwegian/errmsg.txt:
  Manual merge
sql/share/polish/errmsg.txt:
  Manual merge
sql/share/portuguese/errmsg.txt:
  Manual merge
sql/share/romanian/errmsg.txt:
  Manual merge
sql/share/russian/errmsg.txt:
  Manual merge
sql/share/serbian/errmsg.txt:
  Manual merge
sql/share/slovak/errmsg.txt:
  Manual merge
sql/share/spanish/errmsg.txt:
  Manual merge
sql/share/swedish/errmsg.txt:
  Manual merge
sql/share/ukrainian/errmsg.txt:
  Manual merge
sql/slave.cc:
  Manual merge
sql/slave.h:
  Manual merge
sql/sql_repl.cc:
  Manual merge
sql/sql_yacc.yy:
  Manual merge
2003-09-14 01:57:09 +04:00
unknown
2f8f0a7e4d Implemented support for START SLAVE UNTIL (WL#868)
include/mysqld_error.h:
  Added error codes for warnings and error messages for START SLAVE UNTIL
mysql-test/r/rpl000015.result:
  Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
mysql-test/r/rpl_empty_master_crash.result:
  Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
mysql-test/r/rpl_flush_log_loop.result:
  Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
mysql-test/r/rpl_log.result:
  Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
mysql-test/r/rpl_log_pos.result:
  Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
mysql-test/r/rpl_redirect.result:
  Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
mysql-test/r/rpl_replicate_do.result:
  Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
mysql-test/r/rpl_rotate_logs.result:
  Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
sql/lex.h:
  Added UNTIL symbol
sql/log.cc:
  Invalidating until_log_name comparison result if group_relay_log_name is changed
sql/log_event.cc:
  Invalidating until_log_name comparison result if group_master_log_name is changed
sql/repl_failsafe.cc:
  Cancel until condition if LOAD MASTER DATA is executed
sql/share/czech/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/share/danish/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/share/dutch/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/share/english/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/share/estonian/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/share/french/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/share/german/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/share/greek/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/share/hungarian/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/share/italian/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/share/japanese/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/share/korean/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/share/norwegian-ny/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/share/norwegian/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/share/polish/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/share/portuguese/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/share/romanian/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/share/russian/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/share/serbian/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/share/slovak/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/share/spanish/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/share/swedish/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/share/ukrainian/errmsg.txt:
  Added error and warning message for START SLAVE UNTIL
sql/slave.cc:
  Fixed wrong locking order in init_relay_log_pos()
  Added until condition fields to SHOW SLAVE STATUS
  Added checking if UNTIL condition is reached 
  (added proper method, added its invocation, reorganized locking 
  in exec_relay_log_event() and next_event())
sql/slave.h:
  Members in RELAY_LOG_INFO for storing UNTIL condition. Also 
  methods for for invalidation of cached UNTIL condition comparison
  results
sql/sql_repl.cc:
  Now honoring UNTIL clause then starting slave thread. Proper 
  errors and warnings.
sql/sql_yacc.yy:
  Added support for UNTIL clause in START SLAVE. This involved 
  extraction of some of master_defs to separate master_file_def
  non-terminal.
2003-09-14 00:13:41 +04:00
unknown
3500763b6e Optimize thai character handling
Remove sel000xxxx tests
After merge fixes


BitKeeper/deleted/.del-sel000033.test~3971fbe746eec069:
  Delete: mysql-test/t/sel000033.test
BitKeeper/deleted/.del-sel000033.result~56d1d02d72b94602:
  Delete: mysql-test/r/sel000033.result
BitKeeper/deleted/.del-sel000100.result~84ed46856cb3a69f:
  Delete: mysql-test/r/sel000100.result
BitKeeper/deleted/.del-sel000100.test~548501cad19a1a59:
  Delete: mysql-test/t/sel000100.test
mysql-test/r/distinct.result:
  Merge test with sel000100
mysql-test/r/grant.result:
  Update result after merge
mysql-test/r/range.result:
  After merge fix
  Merge test with sel000033
mysql-test/t/distinct.test:
  Merge test with sel000100
mysql-test/t/range.test:
  Merge test with sel000033
sql/log_event.cc:
  Remove duplicate allocation
sql/sql_select.cc:
  After merge fixes
strings/ctype-tis620.c:
  Remove usage of strnlen
  Optimize code and make it \0 safe
2003-09-12 04:18:07 +03:00
unknown
dd0d199ebe After merge fixes.
Note that mix_innodb_myisam_binlog and union fails after this patch (Will be fixed shortly by maintaners of this code)


client/mysql.cc:
  After merge fix
include/mysql.h:
  Some additions to MYSQL_BIND for cleaner prepared statement code
libmysql/libmysql.c:
  mysql_prepare_result -> mysql_get_metadata()
  Added test for offset overflow when using mysql_fetch_column()
  Cleaned up mysql_fetch_column()
  Optimized fetch_result() usage
mysql-test/r/func_group.result:
  Updated results after merge
mysql-test/r/func_test.result:
  Updated results after merge
mysql-test/r/grant.result:
  Updated results after merge
mysql-test/r/loaddata.result:
  Updated results after merge
mysql-test/r/lowercase_table.result:
  Updated results after merge
mysql-test/r/mix_innodb_myisam_binlog.result:
  Updated results after merge (note that this is still not correct; Need patch to mysqld to fix this properly)
mysql-test/r/myisam.result:
  Updated results after merge
mysql-test/r/range.result:
  Updated results after merge
mysql-test/r/rpl_loaddata.result:
  Updated results after merge
mysql-test/r/rpl_loaddata_rule_m.result:
  Updated results after merge
mysql-test/r/rpl_loaddata_rule_s.result:
  Updated results after merge
mysql-test/r/rpl_log.result:
  Updated results after merge
mysql-test/r/union.result:
  Updated results after merge
mysql-test/t/lowercase_table.test:
  Update after merge
mysql-test/t/myisam.test:
  Update after merge
mysql-test/t/union.test:
  Update after merge
sql-bench/compare-results.sh:
  Fix for now output format
sql/field.h:
  Added is_null_in_record() to make ha_innodb.cc code more general
sql/ha_innodb.cc:
  Removed some functions that uses inernal (private) MySQL information
sql/item_cmpfunc.cc:
  After merge fix
sql/log_event.cc:
  After merge fix; (Some code should be checked by Guilhem)
sql/opt_range.cc:
  Simple optimzation and after merge fixes
sql/slave.cc:
  After merge fix
sql/sql_acl.cc:
  After merge fix + code cleanup
sql/sql_select.cc:
  After merge fix
sql/sql_show.cc:
  After merge fix
sql/sql_table.cc:
  After merge fix
  Cleanup of mysql_checksum_table()
sql/sql_union.cc:
  After merge fixes.
  Note that after this the union test still fails; Will be fixed shortly...
tests/client_test.c:
  mysql_prepare_result() -> mysql_get_metadata()
2003-09-11 19:06:23 +03:00
unknown
0fa5279543 merge with 4.0.15
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
BitKeeper/deleted/.del-database.c~af098622e818ce0d:
  Auto merged
BitKeeper/deleted/.del-have_openssl_2.inc~8c9f1a45676b698f:
  Auto merged
BitKeeper/deleted/.del-have_openssl_2.require~53bbdfc136fb514:
  Auto merged
BitKeeper/deleted/.del-mini_client.cc~8677895ec8169183:
  Auto merged
BitKeeper/deleted/.del-openssl_2.test~f2dfa927f19d14f8:
  Auto merged
Build-tools/Bootstrap:
  Auto merged
Build-tools/Do-compile:
  Auto merged
SSL/cacert.pem:
  Auto merged
acconfig.h:
  Auto merged
acinclude.m4:
  Auto merged
configure.in:
  Auto merged
SSL/client-cert.pem:
  Auto merged
SSL/client-key.pem:
  Auto merged
SSL/server-cert.pem:
  Auto merged
SSL/server-key.pem:
  Auto merged
VC++Files/client/mysql.dsp:
  Auto merged
VC++Files/client/mysqladmin.dsp:
  Auto merged
VC++Files/client/mysqlclient.dsp:
  Auto merged
VC++Files/client/mysqldump.dsp:
  Auto merged
VC++Files/client/mysqlimport.dsp:
  Auto merged
VC++Files/client/mysqlshow.dsp:
  Auto merged
VC++Files/comp_err/comp_err.dsp:
  Auto merged
VC++Files/innobase/innobase.dsp:
  Auto merged
VC++Files/isamchk/isamchk.dsp:
  Auto merged
VC++Files/libmysql/libmysql.dsp:
  Auto merged
VC++Files/libmysqltest/myTest.dsp:
  Auto merged
VC++Files/my_print_defaults/my_print_defaults.dsp:
  Auto merged
VC++Files/myisamlog/myisamlog.dsp:
  Auto merged
VC++Files/mysql.dsw:
  Auto merged
VC++Files/mysqlbinlog/mysqlbinlog.dsp:
  Auto merged
VC++Files/mysqlcheck/mysqlcheck.dsp:
  Auto merged
VC++Files/mysqlmanager/MySqlManager.dsp:
  Auto merged
VC++Files/mysqlserver/mysqlserver.dsp:
  Auto merged
VC++Files/mysqlshutdown/mysqlshutdown.dsp:
  Auto merged
VC++Files/mysys/mysys.dsp:
  Auto merged
VC++Files/pack_isam/pack_isam.dsp:
  Auto merged
VC++Files/perror/perror.dsp:
  Auto merged
VC++Files/replace/replace.dsp:
  Auto merged
VC++Files/test1/test1.dsp:
  Auto merged
VC++Files/thr_test/thr_test.dsp:
  Auto merged
VC++Files/vio/vio.dsp:
  Auto merged
VC++Files/zlib/zlib.dsp:
  Auto merged
client/mysqlbinlog.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
client/mysqlimport.c:
  Auto merged
extra/my_print_defaults.c:
  Auto merged
extra/resolveip.c:
  Auto merged
include/m_string.h:
  Auto merged
include/my_sys.h:
  Auto merged
include/mysql_com.h:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/os/os0file.c:
  Auto merged
isam/_search.c:
  Auto merged
libmysql/Makefile.am:
  Auto merged
libmysql/errmsg.c:
  Auto merged
libmysql/libmysql.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/mi_create.c:
  Auto merged
myisam/mi_open.c:
  Auto merged
myisam/mi_search.c:
  Auto merged
myisam/mi_write.c:
  Auto merged
myisam/myisamchk.c:
  Auto merged
myisam/myisamlog.c:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/group_by.result:
  Auto merged
mysql-test/r/isam.result:
  Auto merged
mysql-test/r/loaddata.result:
  Auto merged
mysql-test/r/lowercase_table.result:
  Auto merged
mysql-test/r/multi_update.result:
  Auto merged
mysql-test/r/openssl_1.result:
  Auto merged
mysql-test/r/packet.result:
  Auto merged
mysql-test/r/query_cache.result:
  Auto merged
mysql-test/r/range.result:
  Auto merged
mysql-test/r/select_safe.result:
  Auto merged
mysql-test/r/show_check.result:
  Auto merged
mysql-test/t/grant.test:
  Auto merged
mysql-test/t/group_by.test:
  Auto merged
mysql-test/t/lock_tables_lost_commit-master.opt:
  Auto merged
mysql-test/t/lowercase_table.test:
  Auto merged
mysql-test/t/multi_update.test:
  Auto merged
mysql-test/t/openssl_1.test:
  Auto merged
mysql-test/t/range.test:
  Auto merged
mysql-test/t/rpl_loaddata.test:
  Auto merged
mysql-test/t/rpl_log.test:
  Auto merged
mysql-test/t/select_safe.test:
  Auto merged
mysql-test/t/show_check.test:
  Auto merged
mysql-test/t/symlink.test:
  Auto merged
mysys/default.c:
  Auto merged
mysys/my_getopt.c:
  Auto merged
mysys/my_pthread.c:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
scripts/make_win_src_distribution.sh:
  Auto merged
scripts/mysql_install_db.sh:
  Auto merged
scripts/mysqld_safe.sh:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item_uniq.h:
  Auto merged
sql/log_event.h:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
vio/Makefile.am:
  Auto merged
vio/vio.c:
  Auto merged
mysql-test/t/myisam.test:
  merge with 4.0.15
  Extra tests
mysys/mf_keycache.c:
  Keep local file
2003-08-29 13:44:35 +03:00
unknown
6fd5403d31 Portability fixes
client/mysqltest.c:
  Removed not used functions
myisam/mi_dynrec.c:
  Added assert to avoid compilation errors
mysql-test/r/isam.result:
  Updated results after merge
sql/log_event.cc:
  Cleanup
sql/mysql_priv.h:
  Cleanup
sql/sql_class.cc:
  Moved Table_ident functions to .cc file to allow them to use table_case_convert()
sql/sql_class.h:
  Moved Table_ident functions to .cc file to allow them to use table_case_convert()
2003-08-28 22:18:02 +03:00
unknown
138f0adf2d Merge 4.1 into 5.0
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
client/mysql.cc:
  Auto merged
client/mysqltest.c:
  Auto merged
configure.in:
  Auto merged
include/my_global.h:
  Auto merged
include/my_pthread.h:
  Auto merged
include/mysql_com.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
libmysqld/Makefile.am:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/myisamchk.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
mysql-test/r/insert.result:
  Auto merged
mysql-test/r/variables.result:
  Auto merged
mysql-test/t/insert.test:
  Auto merged
mysql-test/t/variables.test:
  Auto merged
mysys/my_pthread.c:
  Auto merged
scripts/mysql_install_db.sh:
  Auto merged
sql/Makefile.am:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/lex.h:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/records.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_derived.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_rename.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_repl.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
2003-08-26 11:51:09 +02:00
unknown
e5b3d521f5 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into narttu.mysql.fi:/my/mysql-4.0


sql/log_event.cc:
  Auto merged
2003-08-25 17:20:51 +03:00
unknown
e8007ae77b Update of VC++ project files (to remove link warnings)
Fix unlock error in myisamchk on windows when doing --sort-index
Use SetFilePointer instead of SetFilePointerEx


VC++Files/client/mysql.dsp:
  Update of project files
VC++Files/client/mysqladmin.dsp:
  Update of project files
VC++Files/client/mysqlclient.dsp:
  Update of project files
VC++Files/client/mysqldump.dsp:
  Update of project files
VC++Files/client/mysqlimport.dsp:
  Update of project files
VC++Files/client/mysqlshow.dsp:
  Update of project files
VC++Files/comp_err/comp_err.dsp:
  Update of project files
VC++Files/innobase/innobase.dsp:
  Update of project files
VC++Files/isamchk/isamchk.dsp:
  Update of project files
VC++Files/libmysql/libmysql.dsp:
  Update of project files
VC++Files/libmysqld/libmysqld.dsp:
  Update of project files
VC++Files/libmysqltest/myTest.dsp:
  Update of project files
VC++Files/my_print_defaults/my_print_defaults.dsp:
  Update of project files
VC++Files/myisamlog/myisamlog.dsp:
  Update of project files
VC++Files/mysql.dsw:
  Update of project files
VC++Files/mysqlbinlog/mysqlbinlog.dsp:
  Update of project files
VC++Files/mysqlcheck/mysqlcheck.dsp:
  Update of project files
VC++Files/mysqldemb/mysqldemb.dsp:
  Update of project files
VC++Files/mysqlmanager/MySqlManager.dsp:
  Update of project files
VC++Files/mysqlserver/mysqlserver.dsp:
  Update of project files
VC++Files/mysqlshutdown/mysqlshutdown.dsp:
  Update of project files
VC++Files/mysys/mysys.dsp:
  Update of project files
VC++Files/pack_isam/pack_isam.dsp:
  Update of project files
VC++Files/perror/perror.dsp:
  Update of project files
VC++Files/replace/replace.dsp:
  Update of project files
VC++Files/sql/mysqld.dsp:
  Update of project files
VC++Files/test1/test1.dsp:
  Update of project files
VC++Files/thr_test/thr_test.dsp:
  Update of project files
VC++Files/vio/vio.dsp:
  Update of project files
VC++Files/zlib/zlib.dsp:
  Update of project files
myisam/mi_check.c:
  Fix unlock error in myisamchk on windows when doing --sort-index
myisam/mi_locking.c:
  Fix unlock error in myisamchk on windows when doing --sort-index
myisam/myisamchk.c:
  New comment
mysys/my_chsize.c:
  Use SetFilePointer instead of SetFilePointerEx, as the first is more portable
sql/handler.cc:
  Fix compiler warning
sql/log_event.cc:
  Fix compiler warning
2003-08-25 14:27:32 +03:00
unknown
6e10224d71 * Fix for a potential bug:
when the SQL thread stops, set rli->inside_transaction to 0. This is needed if the user
later restarts replication from a completely different place where there are only autocommit
statements.
* Detect the case where the master died while flushing the binlog cache to the binlog
and stop with error. Cannot add a testcase for this in 4.0 (I tested it manually)
as the slave always runs with --skip-innodb.


sql/log_event.cc:
  Detect the case where the master died while flushing the binlog cache to the binlog:
  in that case, we have a BEGIN with no COMMIT/ROLLBACK in the relay log; we detect
  this with rli->inside_transaction in Rotate_log_event::exec_event() (which is the
  only right place to detect this, see comments). When we see it, we stop with error.
  In 4.1, I had put code in Start_log_event::exec_event(); I'll remove it next time
  I push in the 4.1 tree.
sql/slave.cc:
  * Use slave_print_error instead of sql_print_error, to put the info in SHOW SLAVE STATUS too.
  * Fix for a potential bug:
  when the SQL thread stops, set rli->inside_transaction to 0. This is not needed if
  replication later restarts from the same position; but this is needed if the user
  restarts replication from a completely different place where there are only autocommit
  statements (in that case, if we didn't set to 0, the position would never increment in SHOW
  SLAVE STATUS, even if queries are processed well).
2003-08-23 16:53:04 +02:00
unknown
fdfb10f2fb 2 minor edits, plus
fix for BUG#1113 "INSERT into non-trans table SELECT ; ROLLBACK" does not send warning"
and
fix for BUG#873 "In transaction, INSERT to non-trans table is written too early to binlog".
Now we don't always write the non-trans update immediately to the binlog;
if there is something in the binlog cache we write it to the binlog cache
(because the non-trans update could depend on a trans table which was modified
earlier in the transaction); then in case of ROLLBACK, we write the binlog
cache to the binlog, wrapped with BEGIN/ROLLBACK.
This guarantees that the slave does the same updates.
For ROLLBACK TO SAVEPOINT: when we execute a SAVEPOINT command we write it
to the binlog cache. At ROLLBACK TO SAVEPOINT, if some non-trans table was updated,
we write ROLLBACK TO SAVEPOINT to the binlog cache; when the transaction
terminates (COMMIT/ROLLBACK), the binlog cache will be flushed to the binlog
(because of the non-trans update) so we'll have SAVEPOINT and ROLLBACK TO
SAVEPOINT in the binlog.

Apart from this rare case of updates of mixed table types in transaction, the
usual way is still clear the binlog cache at ROLLBACK, or chop it at
ROLLBACK TO SAVEPOINT (meaning the SAVEPOINT command is also chopped, which
is fine).
Note that BUG#873 encompasses subbugs 1) and 2) of BUG#333 "3 binlogging bugs when doing INSERT with mixed InnoDB/MyISAM".


client/mysqldump.c:
  Minor edit: one CHANGE MASTER with 2 arguments instead of 2 CHANGE MASTER with one argument each.
mysql-test/r/rpl_loaddata.result:
  result update
mysql-test/t/rpl_loaddata.test:
  minor edit: simplifying the test.
sql/handler.cc:
  Fix for BUG#873. See comments in code, and the description of the changeset.
sql/log.cc:
  * Previously, if a query updated a non-transactional table we wrote it immediately
  to the real binlog. This causes a bug when the update is done inside a transaction
  and uses the content of an updated transactional table (because this makes
  a wrong order of queries in the binlog). So if the binlog cache is not empty,
  we write the query to the binlog cache; otherwise we can write it to the binlog.
  * Previously, when we flushed the binlog cache to the binlog, we wrapped it
  with BEGIN/COMMIT. Now it's also possible to wrap it with BEGIN/ROLLBACK, to handle
  transactions which update both transactional and non-transactional tables.
sql/log_event.cc:
  The slave thread can leave a transaction if COMMIT or if ROLLBACK.
sql/sql_class.h:
  prototype
sql/sql_insert.cc:
  Fix for BUG#1113:
  this was because the INSERT SELECT code did not set OPTION_STATUS_NO_TRANS_UPDATE.
sql/sql_parse.cc:
  Don't send ER_WARNING_NOT_COMPLETE_ROLLBACK if this is the SQL slave thread (see comments).
2003-08-22 15:39:24 +02:00
unknown
d52145da3d Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0


sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/slave.cc:
  Auto merged
2003-08-20 23:25:58 +02:00
unknown
1542fffb34 First commit for fixing BUG#1100
"LOAD DATA INFILE is badly filtered by binlog-*-db rules".
There will probably be a second final one to merge Dmitri's changes
to rpl_log.result and mine.
2 new tests:
rpl_loaddata_rule_m : test of logging of LOAD DATA INFILE when the master has binlog-*-db rules,
rpl_loaddata_rule_s : test of logging of LOAD DATA INFILE when the slave has binlog-*-db rules and --log-slave-updates.


mysql-test/r/rpl_loaddata.result:
  Test that logging of LOAD DATA INFILE is done on the slave
mysql-test/t/rpl_loaddata.test:
  Test that logging of LOAD DATA is done on the slave
sql/log.cc:
  debug info
sql/log_event.cc:
  * Append_block, Exec_load and Delete_file now have a member 'db' like Create_file.
  This member is filled by mysql_load(). It is used for filtering by binlog-*-db rules,
  that's all. It's not written to the binlog, and so can't be read from the binlog.
  In other words, that's temporary info which is stored in the event and lost when
  it is written and deleted.
  * Better error messages in Append_block et al. events.
  * The slave now logs (log-slave-updates) the Create_file et al. events in mysql_load()
  (they are not directly copied from the events in the relay log, because this
  prevented filtering by binlog-*-db rules). Before, mysql_load() in the slave
  did no logging, now it does the logging, as in any regular thread.
sql/log_event.h:
  New member 'db' for Append_block et al. events.
sql/slave.cc:
  Removed useless code. Why was it useless:
  - CREATE_FILE_EVENT is not defined in 3.23. It appeared in 4.0.
  - in queue_old_event(), which is called only if the master is 3.23, we had a
  case CREATE_FILE_EVENT:
  so this case can be removed.
  - this case was the only caller of process_io_create_file() so this function
  can be removed.
sql/sql_load.cc:
  Pass the db to events, so that they can be well filtered.
sql/sql_repl.cc:
  Pass the db to events so that they can be well filtered.
2003-08-20 23:24:45 +02:00
unknown
e3541b8a97 Fix for BUG#1086. Now we don't preserve event's log_pos through
log-slave-updates since this causes unexpected values in 
Exec_master_log_pos in A->B->C replication setup, synchronization
 problems in master_pos_wait()... 
Still this brokes some functionality in sql/repl_failsafe.cc 
(but this file is not used now)


mysql-test/r/rpl_log.result:
  SHOW BINLOG EVENTS for binlog on slave should give the same 
  Orig_log_pos and Pos values
sql/log_event.cc:
  Do not propagate our master's log pos to our bin log
sql/repl_failsafe.cc:
  Added comment about broken SHOW NEW MASTER
sql/slave.cc:
  Do not propagate our master's log pos to our bin log
sql/sql_class.cc:
  THD::log_pos is no longer needed
sql/sql_class.h:
  THD::log_pos is no longer needed
sql/sql_parse.cc:
  Added comment about broken SHOW NEW MASTER
2003-08-20 03:38:31 +04:00
unknown
d43a347db1 Use my_b_append instead of my_b_write on a SEQ_READ_APPEND cache, when we write
the first 4 bytes of the relay log. Indeed comments in mysys/mf_iocache.c 
say we must always use my_b_append for such a cache.
This *could* avoid a very rare assertion failure which is: 
030524 19:32:38  Slave SQL thread initialized, starting replication in log 'FIRST' at position 0, relay log '/
users/gbichot/4.1.1/mysql-test/var/log/slave-relay-bin.000001' position: 4
030524 19:32:38  next log '/users/gbichot/4.1.1/mysql-test/var/log/slave-relay-bin.000002' is currently active
mysqld: mf_iocache.c:701: _my_b_seq_read: Assertion `pos_in_file == info->end_of_file' failed.
and which seemed to happen always when the SQL thread and/or the I/O thread
were at position 4 in a relay log.


include/my_sys.h:
  moving a function from log_event.cc so that it can be widely used
mysys/mf_iocache.c:
  moving a function from log_event.cc so that it can be widely used
sql/log.cc:
  my_b_write should not be used on a SEQ_READ_APPEND cache, one should use my_b_append
  (otherwise there could be some locking problems).
sql/log_event.cc:
  moved to mysys/mf_iocache.c for wider use.
  A typo.
2003-08-19 17:00:36 +02:00
unknown
fe0e546434 Fix for BUG#1096 which is:
"mysqlbinlog does not comment the original LOAD DATA INFILE if it has a "use xx""


client/mysqlbinlog.cc:
  a comment
sql/log_event.cc:
  in mysqlbinlog we want to have a leading '#' before LOAD DATA INFILE when we
  print a Create_file event.
  This was not done properly when the query had *2* lines: only the "use db" got
  commented.
  To fix this I had to add an argument to Load_log_event::print, it could not be
  handled in Create_file_log_event::print alone.
sql/log_event.h:
  prototype
2003-08-19 15:46:47 +02:00
unknown
aa900a5ece After merge fixes + bugs from last merge
mysql-test/mysql-test-run.sh:
  Use --skip-bdb with valgrind (as bdb tables causes valgrind to hang)
  Fix --ddd option
mysql-test/t/union.test:
  After merge fix
sql/item.cc:
  Fixed typo
sql/log_event.cc:
  Move current_tablenr to open_tables()
sql/protocol.h:
  Fixed wrong memory reference
sql/set_var.cc:
  After merge fix
sql/slave.cc:
  Reset thd->lex.current_select before execute
sql/sql_base.cc:
  Move current_tablenr to open_tables()
sql/sql_class.cc:
  Move current_tablenr to open_tables()
  Add missing update_charset()
sql/sql_parse.cc:
  Move current_tablenr to open_tables()
  Simple cleanup
sql/table.cc:
  Code cleanup
2003-08-19 16:00:12 +03:00
unknown
2901c3b8fa After merge fixes
Use server character set if --default-character-set is not used
Added convert_string() for more efficient alloc+character-set convert of strings


BitKeeper/deleted/.del-convert.result~a3b56e1db6f498e9:
  Delete: mysql-test/r/convert.result
BitKeeper/deleted/.del-convert.test~f4ceb743194dfe72:
  Delete: mysql-test/t/convert.test
BitKeeper/deleted/.del-make_win_src_distribution.old~5c9ebdc4a852b43b:
  Delete: scripts/make_win_src_distribution.old
client/mysql.cc:
  Use server character set if --default-character-set is not used
client/mysqltest.c:
  Code cleanup (merge identical code)
  More debug messages
heap/hp_create.c:
  After merge fix
include/m_ctype.h:
  After merge fix
include/my_global.h:
  Remove size_str (we already have size_s)
include/mysql_com.h:
  After merge fix
libmysql/libmysql.c:
  After merge fix
libmysqld/Makefile.am:
  After merge fix
mysql-test/r/auto_increment.result:
  After merge fix
mysql-test/r/create.result:
  After merge fix
mysql-test/r/ctype_latin1_de.result:
  After merge fix
mysql-test/r/distinct.result:
  After merge fix
mysql-test/r/drop.result:
  After merge fix
mysql-test/r/fulltext.result:
  After merge fix
mysql-test/r/func_gconcat.result:
  After merge fix
mysql-test/r/func_str.result:
  After merge fix
mysql-test/r/func_test.result:
  After merge fix
mysql-test/r/grant.result:
  After merge fix
mysql-test/r/group_by.result:
  After merge fix
mysql-test/r/handler.result:
  After merge fix
mysql-test/r/heap.result:
  After merge fix
mysql-test/r/heap_btree.result:
  After merge fix
mysql-test/r/heap_hash.result:
  After merge fix
mysql-test/r/innodb.result:
  After merge fix
mysql-test/r/insert.result:
  After merge fix
mysql-test/r/insert_select.result:
  After merge fix
mysql-test/r/join_outer.result:
  After merge fix
mysql-test/r/key.result:
  After merge fix
mysql-test/r/key_cache.result:
  After merge fix
mysql-test/r/loaddata.result:
  After merge fix
mysql-test/r/myisam.result:
  After merge fix
mysql-test/r/null.result:
  After merge fix
mysql-test/r/null_key.result:
  After merge fix
mysql-test/r/order_by.result:
  After merge fix
mysql-test/r/rpl_do_grant.result:
  After merge fix
mysql-test/r/rpl_error_ignored_table.result:
  After merge fix
mysql-test/r/rpl_ignore_grant.result:
  After merge fix
mysql-test/r/rpl_loaddata.result:
  After merge fix
mysql-test/r/rpl_log.result:
  After merge fix
mysql-test/r/rpl_log_pos.result:
  After merge fix
mysql-test/r/rpl_max_relay_size.result:
  After merge fix
mysql-test/r/rpl_replicate_do.result:
  After merge fix
mysql-test/r/rpl_reset_slave.result:
  After merge fix
mysql-test/r/rpl_rotate_logs.result:
  After merge fix
mysql-test/r/rpl_user_variables.result:
  After merge fix
mysql-test/r/select.result:
  After merge fix
mysql-test/r/select_safe.result:
  After merge fix
mysql-test/r/subselect.result:
  After merge fix
mysql-test/r/type_blob.result:
  After merge fix
mysql-test/r/type_decimal.result:
  After merge fix
mysql-test/r/type_float.result:
  After merge fix
mysql-test/r/type_ranges.result:
  After merge fix
mysql-test/r/type_time.result:
  After merge fix
mysql-test/r/type_uint.result:
  After merge fix
mysql-test/r/union.result:
  After merge fix
mysql-test/r/warnings.result:
  After merge fix
mysql-test/t/auto_increment.test:
  After merge fix
mysql-test/t/case.test:
  After merge fix
mysql-test/t/ctype_collate.test:
  After merge fix
mysql-test/t/ctype_latin1_de.test:
  After merge fix
mysql-test/t/drop.test:
  After merge fix
mysql-test/t/func_in.test:
  After merge fix
mysql-test/t/func_set.test:
  After merge fix
mysql-test/t/func_str.test:
  After merge fix
mysql-test/t/func_test.test:
  After merge fix
mysql-test/t/grant.test:
  After merge fix
mysql-test/t/group_by.test:
  After merge fix
mysql-test/t/handler.test:
  After merge fix
mysql-test/t/heap.test:
  After merge fix
mysql-test/t/heap_btree.test:
  After merge fix
mysql-test/t/heap_hash.test:
  After merge fix
mysql-test/t/innodb.test:
  After merge fix
mysql-test/t/insert_select.test:
  After merge fix
mysql-test/t/key.test:
  After merge fix
mysql-test/t/key_cache.test:
  After merge fix
mysql-test/t/lock_tables_lost_commit-master.opt:
  After merge fix
mysql-test/t/lock_tables_lost_commit.test:
  After merge fix
mysql-test/t/myisam.test:
  After merge fix
mysql-test/t/row.test:
  After merge fix
mysql-test/t/subselect.test:
  After merge fix
mysql-test/t/type_decimal.test:
  After merge fix
mysql-test/t/type_ranges.test:
  After merge fix
mysql-test/t/type_uint.test:
  After merge fix
mysql-test/t/variables.test:
  After merge fix
mysql-test/t/warnings.test:
  After merge fix
scripts/make_win_src_distribution.sh:
  after merge fixes
sql-common/client.c:
  After merge fix
  Change my_connect() to use poll()
  If character set is not given, use servers character set.
sql/field.cc:
  After merge fix
  Don't give warnings when storing data in fields in optimizer.
sql/ha_myisammrg.h:
  After merge fix
sql/log.cc:
  After merge fix
sql/log_event.cc:
  After merge fix
sql/mysqld.cc:
  After merge fix
sql/opt_range.cc:
  After merge fix
sql/set_var.cc:
  Code cleanup
  Fixed wrong usage of base_names (like medium.key_buffer) that caused core dumps
sql/set_var.h:
  Fixed wrong usage of base_names (like medium.key_buffer) that caused core dumps
sql/slave.cc:
  After merge fix
sql/sql_acl.cc:
  After merge fix
  Code cleanup
sql/sql_class.cc:
  Added convert_string() for more efficient alloc+character-set convert of strings
  Add cached flags to avoid calling mysql_charset_same() during parsing.
sql/sql_class.h:
  Added convert_string() for more efficient alloc+character-set convert of strings
  Add cached flags to avoid calling mysql_charset_same() during parsing.
sql/sql_handler.cc:
  After merge fix
sql/sql_lex.h:
  After merge fix
sql/sql_parse.cc:
  Optimize and fix memory reference errors reported by valgrind
sql/sql_repl.cc:
  After merge fix
sql/sql_yacc.yy:
  After merge fix
  Avoid calling mysql_charset_same() when parsing identifiers
strings/ctype-latin1.c:
  Port latin_de conversion code from 4.0
2003-08-19 00:08:08 +03:00
unknown
034b44cb9f Merge with 4.0.14
BitKeeper/etc/logging_ok:
  auto-union
scripts/make_win_src_distribution.old:
  Merge rename: scripts/make_win_src_distribution.sh -> scripts/make_win_src_distribution.old
BUILD/compile-pentium-debug-max:
  Auto merged
BitKeeper/deleted/.del-sel000001.result~383913ae4505ec86:
  Auto merged
BitKeeper/deleted/.del-sel000001.test~9567c1646058cc:
  Auto merged
Build-tools/Bootstrap:
  Auto merged
Build-tools/Do-compile:
  Auto merged
Docs/Makefile.am:
  Auto merged
client/get_password.c:
  Auto merged
client/mysql.cc:
  Auto merged
client/mysqltest.c:
  Auto merged
extra/perror.c:
  Auto merged
include/config-win.h:
  Auto merged
include/my_sys.h:
  Auto merged
innobase/btr/btr0cur.c:
  Auto merged
innobase/btr/btr0pcur.c:
  Auto merged
innobase/buf/buf0buf.c:
  Auto merged
innobase/buf/buf0flu.c:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/dict/dict0load.c:
  Auto merged
innobase/include/buf0buf.h:
  Auto merged
innobase/include/log0recv.h:
  Auto merged
innobase/include/row0sel.h:
  Auto merged
innobase/include/srv0srv.h:
  Auto merged
innobase/include/ut0mem.h:
  Auto merged
innobase/lock/lock0lock.c:
  Auto merged
innobase/log/log0log.c:
  Auto merged
innobase/mem/mem0pool.c:
  Auto merged
innobase/os/os0file.c:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
innobase/trx/trx0sys.c:
  Auto merged
innobase/trx/trx0trx.c:
  Auto merged
innobase/ut/ut0mem.c:
  Auto merged
innobase/ut/ut0ut.c:
  Auto merged
myisam/ft_boolean_search.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/mi_extra.c:
  Auto merged
myisam/mi_key.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
myisammrg/myrg_queue.c:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/ctype_latin1_de.result:
  Auto merged
mysql-test/r/flush.result:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/grant_cache.result:
  Auto merged
mysql-test/r/join.result:
  Auto merged
mysql-test/r/join_outer.result:
  Auto merged
mysql-test/r/range.result:
  Auto merged
mysql-test/r/rpl000018.result:
  Auto merged
mysql-test/r/rpl_insert_id.result:
  Auto merged
mysql-test/r/rpl_master_pos_wait.result:
  Auto merged
mysql-test/r/rpl_relayspace.result:
  Auto merged
mysql-test/r/select_safe.result:
  Auto merged
mysql-test/r/symlink.result:
  Auto merged
mysql-test/r/type_date.result:
  Auto merged
mysql-test/r/type_datetime.result:
  Auto merged
mysql-test/t/alias.test:
  Auto merged
mysql-test/t/ctype_latin1_de.test:
  Auto merged
mysql-test/t/fulltext_left_join.test:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
mysql-test/t/handler.test:
  Auto merged
mysql-test/t/heap.test:
  Auto merged
mysql-test/t/join.test:
  Auto merged
mysql-test/t/join_outer.test:
  Auto merged
mysql-test/t/order_by.test:
  Auto merged
mysql-test/t/range.test:
  Auto merged
mysql-test/t/rpl000001.test:
  Auto merged
mysql-test/t/rpl000018.test:
  Auto merged
mysql-test/t/rpl_insert_id.test:
  Auto merged
mysql-test/t/sel000100.test:
  Auto merged
mysql-test/t/select_safe.test:
  Auto merged
mysql-test/t/type_date.test:
  Auto merged
mysql-test/t/type_datetime.test:
  Auto merged
mysql-test/t/user_var.test:
  Auto merged
mysys/default.c:
  Auto merged
mysys/mf_format.c:
  Auto merged
mysys/my_getopt.c:
  Auto merged
mysys/thr_lock.c:
  Auto merged
mysys/tree.c:
  Auto merged
scripts/Makefile.am:
  Auto merged
scripts/mysql_install_db.sh:
  Auto merged
scripts/mysqld_safe.sh:
  Auto merged
sql/Makefile.am:
  Auto merged
sql/field_conv.cc:
  Auto merged
sql/ha_innodb.h:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/ha_myisammrg.h:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/nt_servc.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.h:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_list.h:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_rename.cc:
  Auto merged
sql/sql_repl.h:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/table.cc:
  Auto merged
sql/table.h:
  Auto merged
sql/uniques.cc:
  Auto merged
support-files/mysql.spec.sh:
  Auto merged
vio/viosocket.c:
  Auto merged
BitKeeper/deleted/.del-ctype-latin1_de.c~c5d8f9208bceb98e:
  merge
BitKeeper/deleted/.del-mini_client.cc~8677895ec8169183:
  merge
acinclude.m4:
  Merge with 4.0 (openssl patch)
client/mysqlbinlog.cc:
  Merge with 4.0 in which we had added code from 4.1
  (We are basicly only using the 4.1 code here)
configure.in:
  Keep 4.1 file
heap/hp_open.c:
  merge with 4.0
include/my_base.h:
  merge with 4.0
include/my_global.h:
  merge with 4.0
include/mysqld_error.h:
  merge with 4.0
innobase/ha/ha0ha.c:
  merge with 4.0
  (Code should be same but we use indentaion from 4.0)
innobase/log/log0recv.c:
  merge with 4.0
libmysql/libmysql.c:
  Remove with 4.0 code that was ported from 4.1
libmysqld/lib_sql.cc:
  merge with 4.0
myisam/mi_open.c:
  Remove 4.0 specific code
myisam/myisamchk.c:
  merge with 4.0
myisammrg/myrg_rkey.c:
  merge with 4.0
mysql-test/r/alter_table.result:
  May need to be fixed after merge
mysql-test/r/create.result:
  May need to be fixed after merge
mysql-test/r/distinct.result:
  May need to be fixed after merge
mysql-test/r/drop.result:
  May need to be fixed after merge
mysql-test/r/fulltext.result:
  May need to be fixed after merge
mysql-test/r/func_set.result:
  May need to be fixed after merge
mysql-test/r/func_str.result:
  May need to be fixed after merge
mysql-test/r/func_test.result:
  May need to be fixed after merge
mysql-test/r/grant.result:
  May need to be fixed after merge
mysql-test/r/group_by.result:
  May need to be fixed after merge
mysql-test/r/handler.result:
  May need to be fixed after merge
mysql-test/r/heap.result:
  May need to be fixed after merge
mysql-test/r/innodb.result:
  May need to be fixed after merge
mysql-test/r/insert.result:
  May need to be fixed after merge
mysql-test/r/insert_select.result:
  May need to be fixed after merge
mysql-test/r/key_diff.result:
  May need to be fixed after merge
mysql-test/r/merge.result:
  May need to be fixed after merge
mysql-test/r/myisam.result:
  May need to be fixed after merge
mysql-test/r/order_by.result:
  May need to be fixed after merge
mysql-test/r/query_cache.result:
  May need to be fixed after merge
mysql-test/r/rpl_flush_log_loop.result:
  May need to be fixed after merge
mysql-test/r/rpl_loaddata.result:
  May need to be fixed after merge
mysql-test/r/rpl_log.result:
  May need to be fixed after merge
mysql-test/r/rpl_log_pos.result:
  May need to be fixed after merge
mysql-test/r/rpl_rotate_logs.result:
  May need to be fixed after merge
mysql-test/r/select.result:
  May need to be fixed after merge
mysql-test/r/union.result:
  May need to be fixed after merge
mysql-test/r/user_var.result:
  May need to be fixed after merge
mysql-test/t/alter_table.test:
  merge with 4.0
mysql-test/t/create.test:
  merge with 4.0
mysql-test/t/distinct.test:
  merge with 4.0
mysql-test/t/drop.test:
  merge with 4.0
mysql-test/t/flush.test:
  merge with 4.0
mysql-test/t/fulltext.test:
  merge with 4.0
mysql-test/t/func_set.test:
  merge with 4.0
mysql-test/t/func_str.test:
  merge with 4.0
mysql-test/t/func_test.test:
  merge with 4.0
mysql-test/t/grant.test:
  merge with 4.0
mysql-test/t/grant_cache.test:
  merge with 4.0
mysql-test/t/innodb.test:
  Add back EXPLAIN and SHOW KEYS statements, but make them independent of number of rows returned by InnoDB
mysql-test/t/insert.test:
  merge with 4.0
mysql-test/t/insert_select.test:
  merge with 4.0
mysql-test/t/merge.test:
  merge with 4.0
mysql-test/t/query_cache.test:
  merge with 4.0
mysql-test/t/rpl_flush_log_loop.test:
  merge with 4.0
mysql-test/t/rpl_loaddata.test:
  merge with 4.0
mysql-test/t/rpl_rotate_logs.test:
  merge with 4.0
mysql-test/t/select.test:
  merge with 4.0
mysql-test/t/symlink.test:
  merge with 4.0
mysql-test/t/union.test:
  merge with 4.0
mysys/charset.c:
  merge with 4.0
scripts/mysql_fix_privilege_tables.sh:
  merge with 4.0 (Add quoting for some variables)
sql/field.h:
  merge with 4.0
sql/ha_innodb.cc:
  merge with 4.0
sql/item_cmpfunc.cc:
  merge with 4.0
sql/item_cmpfunc.h:
  merge with 4.0
sql/item_func.h:
  merge with 4.0
sql/item_strfunc.cc:
  merge with 4.0
  Fixed null handling with ELT()
sql/item_timefunc.h:
  merge with 4.0
sql/lex.h:
  merge with 4.0
sql/log.cc:
  merge with 4.0
sql/log_event.cc:
  Merge with 4.0
  Cleanups:
  - Indentation
  - #endif comments
  - Replace strmov() with *pos++= for two byte strings
  - Moved variable declarations to start of functions
  - Merged identical code (LOAD_EVENT)
  - Added casts when subtracting pointers
  Did a full diff between this and 4.0 to ensure that the file is correct after merge.
sql/log_event.h:
  merge with 4.0
sql/mysql_priv.h:
  merge with 4.0
sql/mysqld.cc:
  merge with 4.0
sql/repl_failsafe.cc:
  merge with 4.0
sql/set_var.cc:
  merge with 4.0
sql/set_var.h:
  merge with 4.0
sql/share/czech/errmsg.txt:
  merge with 4.0
sql/share/danish/errmsg.txt:
  merge with 4.0
sql/share/dutch/errmsg.txt:
  merge with 4.0
sql/share/english/errmsg.txt:
  merge with 4.0
sql/share/estonian/errmsg.txt:
  merge with 4.0
sql/share/french/errmsg.txt:
  merge with 4.0
sql/share/german/errmsg.txt:
  merge with 4.0
sql/share/greek/errmsg.txt:
  merge with 4.0
sql/share/hungarian/errmsg.txt:
  merge with 4.0
sql/share/italian/errmsg.txt:
  merge with 4.0
sql/share/japanese/errmsg.txt:
  merge with 4.0
sql/share/korean/errmsg.txt:
  merge with 4.0
sql/share/norwegian-ny/errmsg.txt:
  merge with 4.0
sql/share/norwegian/errmsg.txt:
  merge with 4.0
sql/share/polish/errmsg.txt:
  merge with 4.0
sql/share/portuguese/errmsg.txt:
  merge with 4.0
sql/share/romanian/errmsg.txt:
  merge with 4.0
sql/share/russian/errmsg.txt:
  merge with 4.0
sql/share/slovak/errmsg.txt:
  merge with 4.0
sql/share/spanish/errmsg.txt:
  merge with 4.0
sql/share/swedish/errmsg.txt:
  merge with 4.0
sql/share/ukrainian/errmsg.txt:
  merge with 4.0
sql/slave.cc:
  Merge + some indentation fixes
sql/slave.h:
  merge with 4.0
sql/sql_acl.cc:
  merge with 4.0
  Some end space removal to make it easier to do future merges
sql/sql_acl.h:
  merge with 4.0
sql/sql_cache.cc:
  merge with 4.0
sql/sql_class.h:
  merge with 4.0
sql/sql_handler.cc:
  merge with 4.0
sql/sql_lex.cc:
  merge with 4.0
sql/sql_lex.h:
  merge with 4.0
sql/sql_parse.cc:
  merge with 4.0
sql/sql_repl.cc:
  merge with 4.0
sql/sql_select.cc:
  merge with 4.0
sql/sql_table.cc:
  merge with 4.0
sql/sql_union.cc:
  Merge with 4.0
  Note that I couldn't find out how to merge OPTION_FOUND_ROWS handling so this has to be fixed later
sql/sql_yacc.yy:
  merge with 4.0
  Removed end space to make merge easier
vio/Makefile.am:
  merge with 4.0
2003-08-11 22:44:43 +03:00
unknown
20901edafb Remove wrong bug fix when calling create_sort_index.
Fix possible replication bug with LOAD DATA ... IGNORE LINES #


mysql-test/r/rpl_log.result:
  Test of load data ... ignore # lines
mysql-test/t/rpl_log.test:
  Test of load data ... ignore # lines
sql/log_event.cc:
  Fix replication bug with LOAD DATA ... IGNORE LINES #
  (Note that the code that is probably not executed in 4.0)
sql/sql_parse.cc:
  Indentation fix
sql/sql_select.cc:
  Remove wrong bug fix (all tests passes)
sql/sql_yacc.yy:
  Indentation cleanup
2003-08-10 05:14:16 +03:00
unknown
fa1613be0a Review of changesets since last pull.
(Mostly code cleanups)


include/my_sys.h:
  Removed not used define
myisam/mi_check.c:
  Indentation change
mysql-test/t/rpl_insert_id.test:
  Add test if server supports innodb
mysys/mf_format.c:
  Remove QUOTE handling from fn_format()
  (fn_format() should not have anything to do with quoting things)
sql/log_event.cc:
  Removed some unnecessary casts (by changing functions to use const char *)
  Cleaned up some error messages to make them shorter and (hopefully) more readable.
  Fixed wrong format strings
  Restored 'thd->options' on error.
sql/mini_client.cc:
  Changed order of include files to remove compilation warning
sql/mysqld.cc:
  Add proper quoting of service arguments (don't use fn_format)
sql/slave.cc:
  Simple optimization and cleanup.
  Changed rewrite_db() and print_slave_db_safe() to use const char* to avoid casting of arguments when calling functions.
  Cleanup of some error messages.
sql/slave.h:
  Changed protypes to use const char *
sql/sql_acl.cc:
  Simple optimization
vio/viosslfactories.c:
  Changed order of include files to remove compilation warning
2003-08-07 20:16:37 +03:00
unknown
ab34adf66a WL#1036 (print the db in slave error messages).
I extended the task to cleaning error messages, making them look nicer,
and making the output of SHOW SLAVE STATUS (column Last_error) be as complete
as what's printed on the .err file;
previously we would have, for a failure of a replicated LOAD DATA INFILE:
- in the .err, 2 lines:
"duplicate entry 2708 for key 1"
"failed loading SQL_LOAD-5-2-2.info"
- and in SHOW SLAVE STATUS, only:
"failed loading SQL_LOAD-5-2-2.info".
Now SHOW SLAVE STATUS will contain the concatenation of the 2 messages.


sql/log_event.cc:
  Print the default database when replication stops because of an error. Previously, we had:
  "error "Duplicate entry 87987 for key 1", query 'insert into t values(87987)'", ie the db
  was not mentioned, making it hard for cases where the same table name is used in
  several databases.
  Lengthened some error messages (for failing replication of LOAD DATA: mention the table
  and the db).
  Changes so that SHOW SLAVE STATUS reports as complete errors as the .err file.
sql/slave.cc:
  Removed a useless declaration (the rewrite_db() function is already declared in slave.h).
  Added missing ')' in error messages.
  Tried to make error messages look nicer (previously we had
  "do START SLAVE;, error_code=1062"
  now we'll have
  "do START SLAVE; . Error_code=1062".
  This form has been discussed, I agree it's no panacea, but it's still more readable
  like this. To be improved in the future :)
sql/slave.h:
  declarations.
2003-07-24 22:25:36 +02:00
unknown
e1a3069603 Safety and speedup fixes:
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
2003-07-14 10:12:05 +03:00
unknown
d974959b4f Fix for BUG#791:
a safer way of initing the mutexes in MYSQL_LOG.
is_open() is now always thread-safe.
See each file for details.


sql/handler.cc:
  is_open() with locks
sql/item_func.cc:
  is_open() with locks
sql/log.cc:
  No more 'inited'.
  We now always use is_open() in a thread-safe manner.
  This simplifies some functions (no more need to test is_open() twice).
sql/log_event.cc:
  is_open() with locks
sql/mysqld.cc:
  Init mutexes for the global MYSQL_LOG objects.
  We care about no_rotate, because we can't do it in open() anymore (because
  we don't have 'inited' anymore).
sql/repl_failsafe.cc:
  is_open() with locks
sql/slave.cc:
  init pthread objects (mutexes, conds) in the constructor of st_relay_log_info.
  Some better locking in rotate_relay_log().
sql/sql_base.cc:
  is_open() with locks
sql/sql_class.h:
  Before, we inited LOCK_log in MYSQL_LOG::open(), so in other places of the code
  when we were never 100% sure that it had been inited. For example, if the server
  was running without --log-bin, ::open() was not called so the mutex was not
  inited. We could detect it with !inited, but not safely as 'inited' was not
  protected by any mutex.
  So now:
  we *always* init the LOCK_log mutex, even if the log is not used. We can't init
  the mutex in MYSQL_LOG's constructor, because for global objects like
  mysql_bin_log, mysql_log etc, the constructor is called before MY_INIT(), but
  safe_mutex depends on MY_INIT(). So we have a new function MYSQL_LOG::init_pthread_objects
  which we call in main(), after MY_INIT().
  For the relay log, we call this function in the constructor of
  st_relay_log_info, which is called before any function tries to
  use the relay log (the relay log is always invoked as rli.relay_log).
  So now we should be safe in all cases and we don't need 'inited'.
sql/sql_db.cc:
  is_open() with locks
sql/sql_delete.cc:
  is_open() with locks
sql/sql_insert.cc:
  is_open() with locks
sql/sql_load.cc:
  is_open() with locks
sql/sql_parse.cc:
  is_open() with locks
sql/sql_rename.cc:
  is_open() with locks
sql/sql_repl.cc:
  is_open() with locks
sql/sql_table.cc:
  is_open() with locks
sql/sql_update.cc:
  is_open() with locks
2003-07-11 14:26:44 +02:00
unknown
d6b336359a Merge 4.1 into 5.0 (first pass).
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
BitKeeper/deleted/.del-cron-build:
  Delete: netware/BUILD/cron-build
BitKeeper/deleted/.del-crontab:
  Delete: netware/BUILD/crontab
BitKeeper/triggers/post-commit:
  Auto merged
client/mysql.cc:
  Auto merged
client/mysqltest.c:
  Auto merged
configure.in:
  Auto merged
include/my_global.h:
  Auto merged
include/my_pthread.h:
  Auto merged
include/mysql_com.h:
  Auto merged
libmysqld/Makefile.am:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/myisamchk.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
myisam/sort.c:
  Auto merged
mysql-test/r/connect.result:
  Auto merged
mysql-test/r/rpl_temporary.result:
  Auto merged
mysql-test/r/show_check.result:
  Auto merged
mysql-test/r/variables.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
mysql-test/t/variables.test:
  Auto merged
netware/BUILD/compile-AUTOTOOLS:
  Auto merged
netware/BUILD/compile-linux-tools:
  Auto merged
netware/BUILD/compile-netware-END:
  Auto merged
netware/BUILD/compile-netware-START:
  Auto merged
netware/BUILD/compile-netware-all:
  Auto merged
netware/BUILD/compile-netware-debug:
  Auto merged
netware/BUILD/compile-netware-standard:
  Auto merged
netware/BUILD/mwasmnlm:
  Auto merged
netware/BUILD/mwccnlm:
  Auto merged
netware/BUILD/mwldnlm:
  Auto merged
netware/BUILD/nwbootstrap:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/records.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_derived.cc:
  Auto merged
sql/sql_error.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
2003-07-08 17:50:23 +02:00
unknown
eed62d993d Fix for
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).
2003-07-08 15:50:57 +02:00
unknown
cdb44cd455 fixed bug #670 2003-07-04 16:06:17 -04:00
unknown
5a3c12effb Merge with 3.23 tree to get latest bug fixes
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
2003-07-01 15:02:16 +03:00
unknown
64d7734f38 New class DTCollation (SQL:2003 calls it "declared type collation")
It's a combination of collation and its derivation (precedence order)
2003-06-24 15:11:07 +05:00
unknown
68524c81fe Simple code cleanup
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
2003-06-23 20:05:54 +03:00
unknown
f403da4bf2 Fixed cleanup_load_tmpdir() which deleted nothing.
sql/log_event.cc:
  - cleanup_load_tmpdir() did not work at all because it forgot to indicate
  the directory part of the path when calling my_delete().
  - A misplaced R_POS_OFFSET (fortunately this was no bug as this constant is 0).
sql/sql_repl.cc:
  - fix fake_rotate_event() for pos>4G (correction of a change I pushed yesterday).
2003-06-22 14:10:46 +02:00
unknown
418fcdf16a Do not use 'created' for time anymore in Start_log_event, it's the same
as the already-stored timestamp. Now 'created' is used only to know if
this is a first binlog or not. And we may re-use the superfluous bytes
in 5.0 when we need room.


sql/log_event.cc:
  This sort of reverts a change I made in 3.23.57. In 3.23.57 I set 'created' to 0
  if this was a non-first binlog, so I made mysqlbinlog not print the "created xx"
  part if created == 0. While this was sensible, as 'created' is 0 or equal to
  the timestamp which is already stored in the event, we can always print
  "created xx" by using the timestamp, and leaving the use of 'created' only to
  know if this is a first binlog or not (which we print as "created at startup").
sql/log_event.h:
  In Start_log_event, 'created' is always the same as 'when', or O.
  We didn't need 4 bytes for this, a bit would have been enough (O or
  "same as 'when'"). Possibly in 5.0 we will re-use the useless bytes.
2003-06-16 23:38:33 +02:00
unknown
a921cb3174 See each file's changeset for details.
- Comments for future devs.
- Start_log_event::exec_event() : when we hit it, do a rollback.
- We don't need LOG_EVENT_FORCED_ROTATE_F.
- Stop_log_event::exec_event() : when we hit it, we needn't clean anything.
- Removed LOG_EVENT_TIME_F and LOG_EVENT_FORCED_ROTATE_F.
- We don't need Stop events in the relay log.
- Now filtering of server id is done in the I/O thread first.


sql/log.cc:
  We don't need LOG_EVENT_FORCED_ROTATE_F
sql/log_event.cc:
  - Comments for future devs.
  - Start_log_event::exec_event() : when we hit it, do a rollback. If the SQL
  thread was inside a transaction (for example, the master died while writing
  to the binlog, so did not commit (because we write to the binlog before committing),
  so will rollback), it's sensible to rollback. If we're not in a transaction,
  rollback will not hurt (it will do nothing).
  - We don't need LOG_EVENT_FORCED_ROTATE_F.
  - Stop_log_event::exec_event() : when we hit it, we needn't clean anything, because
  each threads has already written some cleaning statements (DROP TEMPORARY TABLE,
  DO RELEASE_LOCK); we still clean in Start_log_event::exec_event() (if 4.x).
sql/log_event.h:
  - Comments for future devs.
  - Removed LOG_EVENT_TIME_F and LOG_EVENT_FORCED_ROTATE_F.
sql/slave.cc:
  - We don't need Stop events in the relay log (see changeset's description about
  log_event.cc). So we can make event queuing (writing to the relay log) simpler.
  - Something that was marked TODO: now filtering of server id (if the server id
  of this event is the same as mine ignore it) is done in the I/O thread if
  the master is 4.x (it still also done in the SQL thread whatever the version of
  the master is, for safe upgrades). This saves disk space.
sql/slave.h:
  We don't need master_info.ignore_stop_event anymore, as we don't write Stop_event
  to the relay log anymore.
2003-06-12 16:20:31 +02:00
unknown
a0120344b9 Fix for bug 254 :
we now make a distinction between if the master is < 3.23.57, 3.23 && >=57, and 4.x
(before the 2 3.23 were one). This is because in 3.23.57 we have a way to distinguish between
a Start_log_event written at server startup and one written at FLUSH LOGS, so we
have a way to know if the slave must drop old temp tables or not.
Change: mi->old_format was bool, now it's enum (to handle 3 cases). However, functions
which had 'bool old_format' as an argument have their prototypes unchanged, because
the old old_format == 0 now corresponds to the enum value BINLOG_FORMAT_CURRENT which
is equal to 0, so boolean tests are left untouched. The only case were we use mi->old_format
as an enum instead of casting it implicitly to a bool, is in Start_log_event::exec_event,
where we want to distinguish between the 3 possible enum values.


sql/log_event.cc:
  Fix for bug 254 :
  we now make a distinction between if the master is < 3.23.57, 3.23 && >=57, and 4.x
  (before the 2 3.23 were one), to know if the slave must drop old temp tables or not.
sql/slave.cc:
  Fix for bug 254 : mi->old_format is now enum.
  An unrelated comment.
sql/slave.h:
  fix for bug 254 : mi->old_format is now enum.
2003-06-06 16:41:28 +02:00
unknown
07d6a19955 In Start_log_event::print, don't print "created 1970 etc" if created == 0.
Otherwise, we'll get questions from users about this curious 1970.
2003-06-06 14:13:26 +02:00
unknown
64d11bb395 Merge with 4.0.13
BitKeeper/deleted/.del-internals.texi~62b6f580a41c2a43:
  Auto merged
innobase/os/os0file.c:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
mysql-test/r/func_str.result:
  Auto merged
mysql-test/r/rpl_loaddata.result:
  Auto merged
mysql-test/t/rpl_loaddata.test:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
support-files/mysql.spec.sh:
  Auto merged
2003-06-05 17:33:38 +03:00
unknown
ccb398b9ee -- Waiting for Monty's approval before push --
Bug 571: play LOAD DATA INFILE the same way on the slave as it was on the master: 
if it was with IGNORE, do it with IGNORE,
if it was with REPLACE, do it with REPLACE,
and (the change) if it was with nothing, do it with nothing (not with IGNORE !!).
Bug 573: print a proper error message in case of duplicate entry in LOAD DATA INFILE
on the slave, i.e. a message where the keyname and key value appear :
'Duplicate entry '1' for key 1' and not 'Duplicate entry '%-.64s' for key %d'


mysql-test/r/rpl_loaddata.result:
  result update
mysql-test/t/rpl_loaddata.test:
  check if duplicate entries on the slave trigger an error 
  when the slave replicates LOAD DATA INFILE (without IGNORE or REPLACE)
  (bug 571).
sql/log_event.cc:
  Bug 571: play LOAD DATA INFILE the same way on the slave as it was on the master: 
  if it was with IGNORE, do it with IGNORE,
  if it was with REPLACE, do it with REPLACE,
  and (the change) if it was with nothing, do it with nothing (not with IGNORE !!).
  Bug 573: print a proper error message in case of duplicate entry in LOAD DATA INFILE
  on the slave, i.e. a message where the keyname and key value appear :
  'Duplicate entry '1' for key 1' and not 'Duplicate entry '%-.64s' for key %d'
2003-06-03 15:47:29 +02:00
unknown
a222789320 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into narttu.mysql.fi:/my/mysql-4.0


sql/log_event.cc:
  Auto merged
2003-05-26 13:36:43 +03:00
unknown
e864f2592d Added testing of LOAD DATA ... STARTING BY
Added read_only variable


mysql-test/r/loaddata.result:
  Added testing of STARTING BY
mysql-test/t/loaddata.test:
  Added testing of STARTING BY
sql/log_event.cc:
  Code cleanup
sql/set_var.cc:
  Added read_only variable
sql/sql_update.cc:
  Remove not used variable
2003-05-26 11:47:03 +03:00
unknown
99740ff53d merge
VC++Files/libmysql/libmysql.dsp:
  Auto merged
client/mysqlbinlog.cc:
  Auto merged
include/my_sys.h:
  Auto merged
libmysql/libmysql.def:
  Auto merged
mysql-test/r/create.result:
  Auto merged
mysql-test/r/group_by.result:
  Auto merged
mysql-test/r/key.result:
  Auto merged
mysql-test/r/myisam.result:
  Auto merged
mysql-test/r/null_key.result:
  Auto merged
mysql-test/r/order_by.result:
  Auto merged
mysql-test/r/type_decimal.result:
  Auto merged
mysql-test/r/variables.result:
  Auto merged
mysql-test/t/ctype_latin1_de-master.opt:
  Auto merged
mysql-test/t/variables.test:
  Auto merged
mysys/charset.c:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/share/czech/errmsg.txt:
  Auto merged
sql/share/danish/errmsg.txt:
  Auto merged
sql/share/dutch/errmsg.txt:
  Auto merged
sql/share/english/errmsg.txt:
  Auto merged
sql/share/estonian/errmsg.txt:
  Auto merged
sql/share/french/errmsg.txt:
  Auto merged
sql/share/german/errmsg.txt:
  Auto merged
sql/share/greek/errmsg.txt:
  Auto merged
sql/share/hungarian/errmsg.txt:
  Auto merged
sql/share/italian/errmsg.txt:
  Auto merged
sql/share/japanese/errmsg.txt:
  Auto merged
sql/share/korean/errmsg.txt:
  Auto merged
sql/share/norwegian-ny/errmsg.txt:
  Auto merged
sql/share/norwegian/errmsg.txt:
  Auto merged
sql/share/portuguese/errmsg.txt:
  Auto merged
sql/share/romanian/errmsg.txt:
  Auto merged
sql/share/russian/errmsg.txt:
  Auto merged
sql/share/slovak/errmsg.txt:
  Auto merged
sql/share/spanish/errmsg.txt:
  Auto merged
sql/share/swedish/errmsg.txt:
  Auto merged
sql/share/ukrainian/errmsg.txt:
  Auto merged
2003-05-22 02:57:27 +03:00
unknown
9f1da8ad49 Merge vvagin@bk-internal.mysql.com:/home/bk/mysql-3.23
into eagle.mysql.r18.ru:/home/vva/work/LOADDATA/mysql-3.23


BitKeeper/etc/logging_ok:
  auto-union
sql/log_event.cc:
  Auto merged
2003-05-21 15:18:30 -04:00
unknown
bddd75d28e fixed "LINES STARTING" in load data replication
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2003-05-21 15:16:56 -04:00
unknown
87a9e90fd0 Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/LOADDATA/mysql-4.0


sql/log_event.cc:
  Auto merged
2003-05-21 14:58:11 -04:00
unknown
530accbaae fixed 'STARTING BY' in replication
mysql-test/r/rpl_loaddata.result:
  added test for 'STARTING BY'
mysql-test/std_data/rpl_loaddata2.dat:
  added test for 'STARTING BY'
mysql-test/t/rpl_loaddata.test:
  added test for 'STARTING BY'
sql/log_event.cc:
  fixed 'STARTING BY'
2003-05-21 14:54:02 -04:00
unknown
f72611b4fa After merge fixes
Added initialization of all important global variables


BUILD/SETUP.sh:
  build with readline
client/mysqltest.c:
  Added variable SERVER_VERSION
myisam/mi_key.c:
  Indentation change
myisam/mi_open.c:
  After merge fix
myisam/mi_range.c:
  After merge fix
myisam/mi_rkey.c:
  After merge fix
myisam/mi_search.c:
  After merge fix
myisam/myisamdef.h:
  After merge fix
mysql-test/include/not_embedded.inc:
  Fix test (because of wrong utf8 test)
mysql-test/r/alter_table.result:
  Updated results after merge
mysql-test/r/create.result:
  Updated results after merge
mysql-test/r/ctype_recoding.result:
  Updated results after merge
mysql-test/r/fulltext.result:
  Updated results after merge
mysql-test/r/func_group.result:
  Updated results after merge
mysql-test/r/group_by.result:
  Updated results after merge
mysql-test/r/innodb.result:
  Updated results after merge
mysql-test/r/join_outer.result:
  Updated results after merge
mysql-test/r/null_key.result:
  Updated results after merge
mysql-test/r/order_by.result:
  Updated results after merge
mysql-test/r/query_cache.result:
  Updated results after merge
mysql-test/r/repair.result:
  Updated results after merge
mysql-test/r/rpl_flush_tables.result:
  Updated results after merge
mysql-test/r/union.result:
  Updated results after merge
mysql-test/r/update.result:
  Updated results after merge
mysql-test/t/ansi.test:
  After merge fixes
mysql-test/t/create.test:
  After merge fixes
mysql-test/t/ctype_recoding.test:
  After merge fixes
mysql-test/t/ctype_ujis.test:
  After merge fixes
mysql-test/t/fulltext.test:
  After merge fixes
mysql-test/t/innodb.test:
  After merge fixes
mysql-test/t/join_outer.test:
  After merge fixes
mysql-test/t/loaddata.test:
  After merge fixes
mysql-test/t/order_by.test:
  After merge fixes
mysql-test/t/rpl_flush_tables.test:
  After merge fixes
mysql-test/t/status.test:
  After merge fixes
mysql-test/t/subselect.test:
  After merge fixes
sql/convert.cc:
  Code cleanup
sql/field.cc:
  After merge fixes
sql/filesort.cc:
  Remove compiler warning
sql/item.cc:
  More efficient set_name() (no mallocs)
sql/item_cmpfunc.cc:
  Code Code cleanup
  Item_bool_func2::fix_fields() added to get error handling right for cmp_charset
sql/item_cmpfunc.h:
  New prototypes
sql/item_func.cc:
  After merge fix
sql/item_strfunc.cc:
  Faster check for BINARY
sql/log_event.cc:
  Comment cleanup
sql/mysql_priv.h:
  New prototypes and variables
sql/mysqld.cc:
  Added initialization of all important global variables.
  Cleanup of variable declarations
  This is needed ot make the embedded version restartable
sql/opt_sum.cc:
  After merge fix
sql/set_var.cc:
  Code cleanup
sql/sql_acl.cc:
  After merge fix
  Better error message
sql/sql_db.cc:
  After merge fix
sql/sql_derived.cc:
  After merge fix
sql/sql_insert.cc:
  Indentation cleanups
sql/sql_list.h:
  Added empty() to base_ilist
sql/sql_parse.cc:
  After merge fix
sql/sql_select.cc:
  After merge fix
  Fixed derived name handling in EXPLAIN
sql/sql_show.cc:
  After merge fix
sql/sql_string.cc:
  Made copy_and_convert global
sql/sql_string.h:
  Made copy_and_convert global
sql/sql_update.cc:
  After merge fix
sql/sql_yacc.yy:
  After merge fix
sql/thr_malloc.cc:
  Added sql_strmake_with_convert()
sql/unireg.h:
  Added MAX_ALIAS_NAME
strings/ctype-ujis.c:
  Fixed bug in converting to ujis
2003-05-21 21:39:58 +03:00
unknown
2ff9aee853 changed processing of LOAD DATA in mysqlbinlog
client/Makefile.am:
  added ../mysys/mf_tempdir.c to mysqlbinlog_SOURCES
client/mysqlbinlog.cc:
  changed processing of LOAD DATA
mysql-test/r/rpl_loaddata.result:
  added LINE STARTING BY '>'
mysql-test/std_data/rpl_loaddata2.dat:
  added LINE STARTING BY '>'
mysql-test/t/rpl_loaddata.test:
  added LINE STARTING BY '>'
sql/log_event.cc:
  fixed some bugs in processing of LOAD DATA
2003-05-20 17:03:18 -04:00
unknown
daac922bc3 Merge with 4.0.13
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
BUILD/SETUP.sh:
  Auto merged
BitKeeper/deleted/.del-libmysql.def~29fc6d70335f1c4c:
  Auto merged
Makefile.am:
  Auto merged
acinclude.m4:
  Auto merged
BitKeeper/triggers/post-commit:
  Auto merged
Build-tools/Do-compile:
  Auto merged
VC++Files/libmysql/libmysql.dsp:
  Auto merged
VC++Files/mysql.dsw:
  Auto merged
client/mysql.cc:
  Auto merged
client/mysqlbinlog.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
include/config-win.h:
  Auto merged
include/my_base.h:
  Auto merged
include/my_global.h:
  Auto merged
include/my_pthread.h:
  Auto merged
include/my_sys.h:
  Auto merged
include/violite.h:
  Auto merged
innobase/buf/buf0flu.c:
  Auto merged
innobase/buf/buf0lru.c:
  Auto merged
innobase/include/buf0buf.h:
  Auto merged
innobase/include/buf0lru.h:
  Auto merged
innobase/include/row0mysql.h:
  Auto merged
innobase/include/srv0srv.h:
  Auto merged
innobase/lock/lock0lock.c:
  Auto merged
innobase/log/log0log.c:
  Auto merged
innobase/log/log0recv.c:
  Auto merged
innobase/os/os0file.c:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
innobase/trx/trx0sys.c:
  Auto merged
innobase/trx/trx0trx.c:
  Auto merged
innobase/ut/ut0ut.c:
  Auto merged
myisam/ft_boolean_search.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/mi_key.c:
  Auto merged
myisam/mi_open.c:
  Auto merged
myisam/mi_range.c:
  Auto merged
myisam/mi_search.c:
  Auto merged
myisam/sort.c:
  Auto merged
mysql-test/r/delete.result:
  Auto merged
mysql-test/r/fulltext.result:
  Auto merged
mysql-test/r/innodb_handler.result:
  Auto merged
mysql-test/r/join.result:
  Auto merged
mysql-test/r/join_outer.result:
  Auto merged
mysql-test/r/key.result:
  Auto merged
mysql-test/r/multi_update.result:
  Auto merged
mysql-test/r/myisam.result:
  Auto merged
mysql-test/r/query_cache.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/r/variables.result:
  Auto merged
mysql-test/t/alter_table.test:
  Auto merged
mysql-test/t/ctype_latin1_de.test:
  Auto merged
mysql-test/t/delete.test:
  Auto merged
mysql-test/t/fulltext.test:
  Auto merged
mysql-test/t/innodb_handler.test:
  Auto merged
mysql-test/t/join.test:
  Auto merged
mysql-test/t/join_outer.test:
  Auto merged
mysql-test/t/key.test:
  Auto merged
mysql-test/t/multi_update.test:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
mysql-test/t/query_cache.test:
  Auto merged
mysql-test/t/repair.test:
  Auto merged
mysql-test/t/select_safe.test:
  Auto merged
mysql-test/t/type_decimal.test:
  Auto merged
mysql-test/t/variables.test:
  Auto merged
mysys/default.c:
  Auto merged
mysys/my_pthread.c:
  Auto merged
scripts/mysql_fix_privilege_tables.sh:
  Auto merged
scripts/mysqld_safe.sh:
  Auto merged
sql/ha_heap.h:
  Auto merged
sql/ha_innodb.h:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/init.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/mini_client.cc:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/records.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_acl.h:
  Auto merged
sql/sql_analyse.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_list.h:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/share/czech/errmsg.txt:
  Auto merged
sql/share/danish/errmsg.txt:
  Auto merged
sql/share/dutch/errmsg.txt:
  Auto merged
sql/share/english/errmsg.txt:
  Auto merged
sql/share/estonian/errmsg.txt:
  Auto merged
sql/share/french/errmsg.txt:
  Auto merged
sql/share/greek/errmsg.txt:
  Auto merged
sql/share/hungarian/errmsg.txt:
  Auto merged
sql/share/italian/errmsg.txt:
  Auto merged
sql/share/japanese/errmsg.txt:
  Auto merged
sql/share/korean/errmsg.txt:
  Auto merged
sql/share/norwegian-ny/errmsg.txt:
  Auto merged
sql/share/norwegian/errmsg.txt:
  Auto merged
sql/share/portuguese/errmsg.txt:
  Auto merged
sql/share/romanian/errmsg.txt:
  Auto merged
sql/share/russian/errmsg.txt:
  Auto merged
sql/share/slovak/errmsg.txt:
  Auto merged
sql/share/spanish/errmsg.txt:
  Auto merged
sql/share/swedish/errmsg.txt:
  Auto merged
sql/share/ukrainian/errmsg.txt:
  Auto merged
sql/unireg.h:
  Auto merged
sql-bench/crash-me.sh:
  Auto merged
sql-bench/test-transactions.sh:
  Auto merged
strings/ctype-tis620.c:
  Auto merged
tests/grant.res:
  Auto merged
sql/log_event.cc:
  Merge with 4.0.13
  Cleaned up comment syntax
2003-05-19 16:35:49 +03:00
unknown
3f25329605 Merged 4.1 to 5.0.
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
include/mysql_com.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/variables.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/lex.h:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/records.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_derived.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2003-04-29 12:06:04 +02:00
unknown
3e90ec6a58 Merge with 3.23:
Set innobase_flush_log_at_trx_commit to 1 by default
Fix problem with timestamp on 64 bit systems
Reserve alarms for up to 10 slave threads


BitKeeper/etc/logging_ok:
  auto-union
mysql-test/t/rpl_alter.test:
  Auto merged
mysys/charset.c:
  Auto merged
sql/log_event.cc:
  Auto merged
mysql-test/r/join.result:
  Merge with 3.23
mysql-test/t/join.test:
  Merge with 3.23
sql/ha_innodb.cc:
  Merge with 3.23;  Set innobase_flush_log_at_trx_commit to 1 by default
sql/log_event.h:
  Merge with 3.23; Fix problem with timestamp on 64 bit systems
sql/mini_client.cc:
  Use local version
sql/mysqld.cc:
  Reserve alarms for up to 10 slave threads
sql/slave.cc:
  Use local version
sql/sql_list.h:
  Use local version
2003-04-26 21:10:13 +03:00
unknown
9f4f19d9f7 Replication: new code to not modify in-memory log positions until the COMMIT
is executed, even if the transaction spans on >=2 relay logs (bug #53).
New variable relay_log_purge =0|1
New test to verify bug #53


sql/log.cc:
  Now we purge a relay log only when we are sure we won't need it,
  i.e. we have executed the final query (if autocommit=1) or the COMMIT.
sql/log_event.cc:
  Better tracking of the relay log's name and position
  lastly executed, even if we are in a transaction which spans on
  2 or more relay logs.
sql/mysql_priv.h:
  new option relay_log_purge (the user can now decide himself
  if he wants his relay logs to be automatically purged or not,
  we don't make unsafe guesses like before)
sql/mysqld.cc:
  new option --innodb (replaces --skip-innodb).
  Useful for the test suite : we have skip-innodb in mysql-test-run,
  but we can ('-opt.info' file) choose to start the server with
  InnoDB for this test only.
  New option --bdb
sql/repl_failsafe.cc:
  Better tracking of the relay log's name and position
  lastly executed, even if we are in a transaction which spans on
  2 or more relay logs.
sql/set_var.cc:
  new variable relay_log_purge
sql/slave.cc:
  Better tracking of the relay log's name and position
  lastly executed, even if we are in a transaction which spans on
  2 or more relay logs.
  Now we purge a relay log only when we are sure we won't need it,
  i.e. we have executed the final query (if autocommit=1) or the COMMIT
sql/slave.h:
  Better tracking of the relay log's name and position
  lastly executed, even if we are in a transaction which spans on
  2 or more relay logs.
sql/sql_class.h:
  prototypes change
sql/sql_parse.cc:
  removed thd argument (was not used in the function's body)
sql/sql_repl.cc:
  Better tracking of the relay log's name and position
  lastly executed, even if we are in a transaction which spans on
  2 or more relay logs.
  Turn relay_log_purge silently off when someone does CHANGE
  MASTER TO RELAY_LOG_*
2003-04-24 15:29:25 +02:00