options for mysqlbinlog, with a test file.
This enables user to say "recover my database to how it was this morning at 10:30"
(mysqlbinlog "--stop-datetime=2003-07-29 10:30:00").
Using time functions into client/ made me move them out of sql/ into sql-common/.
+ (small) fix for BUG#4507 "mysqlbinlog --read-from-remote-server sometimes
cannot accept 2 binlogs" (that is, on command line).
client/client_priv.h:
new options for mysqlbinlog
client/mysqlbinlog.cc:
WL#1580: --start-datetime, --stop-datetime, --start-position (alias for --position) and --stop-position.
(small) fix for BUG#4507 "mysqlbinlog --read-from-remote-server sometimes
cannot accept 2 binlogs".
include/my_time.h:
importing time functions so that client/ files can use them.
include/mysql_time.h:
importing time types so that client/ files can use them.
sql-common/my_time.c:
importing time functions so that client/ files can use them.
sql/mysql_priv.h:
moving time functions out of sql/ into sql-common/
sql/time.cc:
moving time functions out of sql/ into sql-common/
sql/tztime.h:
moving time functions out of sql/ into sql-common/
required autotools macro written and deployed in all apropriate Makefile.ams.
Use cases checked:
- linux, standard location of zlib, no ndb
- linux, standard locatoin of zlib, with ndb
- linux, non-standard location of zlib, no ndb
- hpux11, use of bundled zlib, no ndb
The only non-checked case is non-standard location of zlib (or use of bundled
zlib) + ndb. I wasn't able to check it as ndb/ just won't compile on beasts
like AIX52 or HPUX11, where such a check is possible. It didn't compile
there before as these systems dont't have installed zlib, so nothing got broken ;)
Makefile.am:
WL#1518 "make bundled zlib usable for unix builds", part 2:
- zlib dir should be built only if there is no system zlib available;
with introducing of DIST_SUBDIRS goal, os2, BUILD and SSH now only entered
if make dist
acinclude.m4:
WL#1518, "make bundled zlib usable for unix builds":
- actual implementation of the check for various zlib usage options
configure.in:
WL#1518, "make bundled zlib usable for unix builds":
- MYSQL_CHECK_ZLIB_WITH_COMPRESS deployed
libmysql/Makefile.am:
WL#1518, "make bundled zlib usable for unix builds":
- support for non-standard zlib include dir added
libmysql_r/Makefile.am:
WL#1518, "make bundled zlib usable for unix builds":
- support for non-standard zlib include dir added
libmysqld/Makefile.am:
WL#1518, "make bundled zlib usable for unix builds":
- support for non-standard zlib include dir added
myisam/Makefile.am:
WL#1518, "make bundled zlib usable for unix builds":
- support for non-standard zlib binary dir added
mysys/Makefile.am:
WL#1518, "make bundled zlib usable for unix builds":
- support for non-standard zlib include dir added
sql/Makefile.am:
WL#1518, "make bundled zlib usable for unix builds":
- support for non-standard zlib include dir and library dir added
tools/Makefile.am:
WL#1518, "make bundled zlib usable for unix builds":
- support for non-standard zlib include dir added
- copyright added
mysqld crashes on CREATE TABLE in a database with corrupted db.opt file.
Bug#4646
sql/sql_db.cc:
mysqld crashes on CREATE TABLE in a database with corrupted db.opt file.
Bug#4646
new tests to ensure that prepared statement *really* work
(and that MySQL not picks up some number from arbitrary location
that happens to match the parameter's value)
mysql-test/include/ps_query.inc:
new tests to ensure that prepared statement *really* work
(and that MySQL not picks up some number from arbitrary location
that happens to match the parameter's value)
mysql-test/r/ps_2myisam.result:
results updated
mysql-test/r/ps_3innodb.result:
results updated
mysql-test/r/ps_4heap.result:
results updated
mysql-test/r/ps_5merge.result:
results updated
mysql-test/r/ps_6bdb.result:
results updated
sql/sql_select.cc:
don't shortcut - it backfires!
(in particular - when itemptr is Item_param :)
client code and replication slave code, as far as LOAD DATA INFILE and
other queries' execution is concerned. Duplication of code leads to
replication bugs, because the replication duplicate lags much behind.
Fix for 2 Valgrind errors on slave replicating LOAD DATA INFILE
- one serious (causing a random test failure in rpl_loaddata in 5.0)
- one not serious (theoretically a bug but not dangerous): uninited thd->row_count
sql/log_event.cc:
Fix for 2 Valgrind errors:
- one serious (causing a random test failure in rpl_loaddata in 5.0): uninited lex in replic of LOAD DATA INFILE on slave
- one not serious (theoretically a bug but not dangerous): uninited thd->row_count in replication of LOAD DATA INFILE on slave.
Sanja is likely to rework the fix to the 1st problem tomorrow.
next-key locking. Using this option the locks InnoDB sets on index
records do not affect the ``gap'' before that index record. Thus, this option
allows phantom problem.
innobase/include/srv0srv.h:
Added srv_locks_unsafe_for_binlog for innodb_locks_unsafe_for_binlog option.
innobase/row/row0sel.c:
If innodb_locks_unsafe_for_binlog option is used, we lock only the record, i.e.
next-key locking is not used. Therefore, setting lock to the index record
do not affect the ``gap'' before that index record. Thus, this option
allows phantom problem, because concurrent insert operations are allowed inside
the select range.
innobase/srv/srv0srv.c:
Added srv_locks_unsafe_for_binlog for innodb_locks_unsafe_for_binlog option.
sql/ha_innodb.cc:
Added innobase_locks_unsafe_for_binlog and srv_locks_unsafe_for_binlog for
innodb_locks_unsafe_for_binlog option.
sql/ha_innodb.h:
Added innobase_locks_unsafe_for_binlog for innodb_locks_unsafe_for_binlog option.
sql/mysqld.cc:
Added OPT_INNODB_LOCKS_UNSAFE_FOR_BINLOG, innobase_locks_unsafe_for_binlog for
innodb_locks_unsafe_for_binlog option.
sql/set_var.cc:
Added innodb_locks_unsafe_for_binlog and innobase_locks_unsafe_for_binlog for
innodb_locks_unsafe_for_binlog option.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Build-tools/Do-compile:
Auto merged
Docs/Makefile.am:
Auto merged
innobase/btr/btr0cur.c:
Auto merged
innobase/include/lock0lock.h:
Auto merged
innobase/include/row0mysql.h:
Auto merged
innobase/include/srv0srv.h:
Auto merged
innobase/include/sync0arr.h:
Auto merged
innobase/include/trx0trx.h:
Auto merged
innobase/lock/lock0lock.c:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
innobase/srv/srv0start.c:
Auto merged
innobase/sync/sync0arr.c:
Auto merged
innobase/trx/trx0trx.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
mysql-test/r/innodb.result:
to be fixed after the merge
don't be confused if new privilege - ENUM ('N','Y') - columns are added (mostly because of downgrade)
don't expect NOT NULL fields to never contain a NULL :) - somebody may've changed table definition, or we may be reading the wrong column
into mysql.com:/usr/local/home/marty/MySQL/mysql-4.1-ndb
mysql-test/mysql-test-run.sh:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged