The problem was that when converting a string to an exact number,
rounding didn't work, because conversion didn't understand
approximate numbers notation.
Fix: a new function for string-to-number conversion was implemented,
which is aware of approxinate number notation (with decimal point
and exponent, e.g. -19.55e-1)
include/m_ctype.h:
Adding new function into MY_CHARSET_HANDLER
Adding prototypes for 8bit and ucs2 functions.
mysql-test/r/loaddata.result:
Fixing results
mysql-test/r/ps_2myisam.result:
Fixing results
mysql-test/r/ps_3innodb.result:
Fixing results
mysql-test/r/ps_4heap.result:
Fixing results
mysql-test/r/ps_5merge.result:
Fixing results
mysql-test/r/ps_6bdb.result:
Fixing results
mysql-test/r/rpl_rewrite_db.result:
Fixing results
mysql-test/r/select.result:
Fixing results
mysql-test/r/sp-vars.result:
Fixing results
mysql-test/r/strict.result:
Fixing results
mysql-test/r/view.result:
Fixing results
mysql-test/r/warnings.result:
Fixing results
mysql-test/t/strict.test:
Fixing results
sql/field.cc:
Using new function
strings/ctype-big5.c:
Adding new function into the MY_CHARSET_HANDLER structure
strings/ctype-bin.c:
Adding new function into the MY_CHARSET_HANDLER structure
strings/ctype-cp932.c:
Adding new function into the MY_CHARSET_HANDLER structure
strings/ctype-euc_kr.c:
Adding new function into the MY_CHARSET_HANDLER structure
strings/ctype-eucjpms.c:
Adding new function into the MY_CHARSET_HANDLER structure
strings/ctype-gb2312.c:
Adding new function into the MY_CHARSET_HANDLER structure
strings/ctype-gbk.c:
Adding new function into the MY_CHARSET_HANDLER structure
strings/ctype-latin1.c:
Adding new function into the MY_CHARSET_HANDLER structure
strings/ctype-simple.c:
Implementing my_strntoull10_8bit
Adding new function into MY_CHARSET_HANDLER
strings/ctype-sjis.c:
Adding new function into the MY_CHARSET_HANDLER structure
strings/ctype-tis620.c:
Adding new function into the MY_CHARSET_HANDLER structure
strings/ctype-ucs2.c:
Implementing UCS2 wrapper for 8bit version
Adding new function into the MY_CHARSET_HANDLER structure
strings/ctype-ujis.c:
Adding new function into the MY_CHARSET_HANDLER structure
strings/ctype-utf8.c:
Adding new function into the MY_CHARSET_HANDLER structure
mysql-test/r/round.result:
New BitKeeper file ``mysql-test/r/round.result''
mysql-test/t/round.test:
New BitKeeper file ``mysql-test/t/round.test''
mysql-test/include/have_outfile.inc:
Use MYSQLTEST_VARDIR
mysql-test/include/test_outfile.inc:
Use MYSQLTEST_VARDIR
mysql-test/mysql-test-run.pl:
Create variable $MYSQLTEST_VARDIR that points to the vardir
Don't create a symlink from var/ to the physical vardir if it's somewhere else
Setup a symlink(or copy dir on windows) for std_data so it is available in the physical vardir
Use "../tmp" as slave-load-tmpdir, since the server is started in var/master-data and slave in var/slave-data they will both find the dumps in "../tmp"
mysql-test/mysql-test-run.sh:
Export MYSQLTEST_VARDIR, always pointing at mysql-test/var
mysql-test/r/backup.result:
Use MYSQLTEST_VARDIR
mysql-test/r/blackhole.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/loaddata.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/mysqlbinlog.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/mysqltest.result:
Use MYSQLTEST_VARDIR
mysql-test/r/outfile.result:
Use MYSQLTEST_VARDIR
mysql-test/r/query_cache.result:
Add missing drop function
mysql-test/r/rpl000001.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/rpl000004.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/rpl_innodb.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/rpl_loaddata.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/rpl_loaddata_rule_m.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/rpl_loaddata_rule_s.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/rpl_loaddatalocal.result:
Use MYSQLTEST_VARDIR
mysql-test/r/rpl_log.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/rpl_misc_functions.result:
Use MYSQLTEST_VARDIR
mysql-test/r/rpl_replicate_do.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/rpl_rewrite_db.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/rpl_timezone.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/symlink.result:
Use MYSQLTEST_VARDIR
mysql-test/r/trigger.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/view.result:
Use "../std_data_ln" to find std_data files
mysql-test/r/warnings.result:
Use "../std_data_ln" to find std_data files
mysql-test/t/backup-master.sh:
Use MYSQLTEST_VARDIR
mysql-test/t/backup.test:
Use MYSQLTEST_VARDIR
mysql-test/t/blackhole.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/ctype_ucs_binlog.test:
Use MYSQLTEST_VARDIR
mysql-test/t/im_daemon_life_cycle-im.opt:
Use MYSQLTEST_VARDIR
mysql-test/t/im_options_set.imtest:
Use MYSQLTEST_VARDIR
mysql-test/t/im_options_unset.imtest:
Use MYSQLTEST_VARDIR
mysql-test/t/loaddata.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/myisam.test:
Use MYSQLTEST_VARDIR
mysql-test/t/mysqlbinlog.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/mysqlbinlog2.test:
Use MYSQLTEST_VARDIR
mysql-test/t/mysqldump.test:
Use MYSQLTEST_VARDIR
mysql-test/t/mysqltest.test:
Use MYSQLTEST_VARDIR
mysql-test/t/ndb_autodiscover.test:
Use MYSQLTEST_VARDIR
mysql-test/t/outfile.test:
Use MYSQLTEST_VARDIR
mysql-test/t/query_cache.test:
Add missing drop function
mysql-test/t/repair.test:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl000001.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/rpl000004.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/rpl000009.test:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl000015-slave.sh:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl000017-slave.sh:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_EE_error.test:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_charset.test:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_drop_db.test:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_flush_log_loop-master.opt:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_flush_log_loop-master.sh:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_flush_log_loop-slave.opt:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_flush_log_loop-slave.sh:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_innodb.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/rpl_loaddata.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/rpl_loaddata_rule_m.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/rpl_loaddata_rule_s.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/rpl_loaddatalocal.test:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_log.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/rpl_misc_functions-slave.sh:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_misc_functions.test:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_replicate_do.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/rpl_rewrite_db.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/rpl_rotate_logs-slave.sh:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_rotate_logs.test:
Use MYSQLTEST_VARDIR
mysql-test/t/rpl_timezone.test:
Use MYSQLTEST_VARDIR
mysql-test/t/show_check.test:
Use MYSQLTEST_VARDIR
mysql-test/t/sp-destruct.test:
Use MYSQLTEST_VARDIR
mysql-test/t/symlink.test:
Use MYSQLTEST_VARDIR
mysql-test/t/temp_table-master.opt:
Use MYSQLTEST_VARDIR
mysql-test/t/trigger-compat.test:
Use MYSQLTEST_VARDIR
mysql-test/t/trigger-grant.test:
Use MYSQLTEST_VARDIR
mysql-test/t/trigger.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/type_varchar.test:
Use MYSQLTEST_VARDIR
mysql-test/t/user_var-binlog.test:
Use MYSQLTEST_VARDIR
mysql-test/t/view.test:
Use "../std_data_ln" to find std_data files
mysql-test/t/warnings.test:
Use "../std_data_ln" to find std_data files
mysql-test/include/sourced.inc:
New BitKeeper file ``mysql-test/include/sourced.inc''
mysql-test/include/sourced1.inc:
New BitKeeper file ``mysql-test/include/sourced1.inc''
Include the Perl version of mysql-test-run
rpl_rewrite_db.test, rpl_rewrite_db.result:
Added missing database cleanup
mysql-test-run.pl:
Embedded result files no longer needed
mysql-test/mysql-test-run.pl:
Embedded result files no longer needed
mysql-test/r/rpl_rewrite_db.result:
Added missing database cleanup
mysql-test/t/rpl_rewrite_db.test:
Added missing database cleanup
mysql-test/Makefile.am:
Include the Perl version of mysql-test-run
Replication using replicate-rewrite-db did not work for LOAD DATA INFILE.
Now is does. There was one place in the code that used current database
instead of the rewrite database.
mysql-test/r/rpl_rewrite_db.result:
New tests
mysql-test/t/rpl_rewrite_db-slave.opt:
New tests
mysql-test/t/rpl_rewrite_db.test:
New tests
sql/log_event.cc:
Added db to set_fields function so that current db is used.
sql/log_event.h:
Added db to set_fields function so that current db is used.
as we already have db_len in Log_event. Only if rewrite_db() changed the db we need a strlen
(so we now do the strlen() in rewrite_db). Plus a test (we had none for --replicate-rewrite-db :( ).
sql/log_event.cc:
The goal is to get of rid of one strlen() per replication event in slave:
we don't need to compute strlen(thd->db) as we already have db_len in the event;
only case where we need to do a strlen() is if rewrite_db() changed the db.
Note that db_len is always a meaningful value. It's 0 if event's db is 0.
sql/slave.cc:
rewrite_db now returns the len of the returned db.
print_slave_db_safe() needn't call rewrite_db() as rewrite_db() is already called by caller.
sql/slave.h:
declaration updates for slave.cc