More messages.
Testcase for bug 651.
client/mysqltest.c:
More explicit error message if MASTER_POS_WAIT() returns NULL.
mysql-test/r/rpl_loaddata.result:
result update
mysql-test/r/rpl_master_pos_wait.result:
result update
mysql-test/t/rpl000001.test:
sync_with_master (=MASTER_POS_WAIT()) was called when we could expect the SQL slave thread had stopped.
As I yesterday changed code so that "SQL thread stops => MASTER_POS_WAIT() returns NULL immediately" (bugfix),
sync_with_master received NULL (on build.mysql.com, not on my machine; this is a question of milliseconds,
if the slave server will process MASTER_POS_WAIT() before or after the slave SQL thread has stopped), and
in mysqltest.c, sync_with_master complained that it could not sync.
So I just remove this sync_with_master, which does not make sense anymore: we just wait for the slave SQL
thread to stop.
mysql-test/t/rpl_loaddata.test:
Discovered we had wait_for_slave_to_stop, so used it as it automates things.
mysql-test/t/rpl_master_pos_wait.test:
Discovered we had 'send' to send a query without waiting for the resultn so could had a testcase for bug 651.
Shorter timeouts as there is no risk the position is reached.
sql/slave.cc:
A longer DBUG_PRINT.
Cleanup
ha_innodb.cc, data0type.h:
Make sure non-latin1 users can downgrade from 4.0.14 to an earlier version if they have not created DATA_BLOB column prefix indexes
innobase/include/data0type.h:
Make sure non-latin1 users can downgrade from 4.0.14 to an earlier version if they have not created DATA_BLOB column prefix indexes
sql/ha_innodb.cc:
Make sure non-latin1 users can downgrade from 4.0.14 to an earlier version if they have not created DATA_BLOB column prefix indexes
innobase/include/dict0dict.ic:
Cleanup
innobase/row/row0mysql.c:
Cleanup
Cleanup; remove compiler warning on Windows
sql/ha_innodb.cc:
Cleanup; remove compiler warning on Windows
sql/ha_innodb.h:
Cleanup; remove compiler warning on Windows
sql/handler.h:
Cleanup; remove compiler warning on Windows
thd->enter_cond() and exit_cond(), so that the I/O thread accepts to stop
when it's waiting for relay log space.
Reset ignore_log_space_limit to 0 when the SQL thread terminates.
mysql-test/r/rpl_relayspace.result:
result update
mysql-test/t/rpl_relayspace-slave.opt:
smaller relay_log_space_limit to speed up things.
mysql-test/t/rpl_relayspace.test:
Less queries in the test, to make it simpler.
Testcase if the IO thread blocked in wait_for_relay_log_space
accepts to stop when STOP SLAVE.
sql/slave.cc:
thd->enter_cond() and exit_cond(), so that the I/O thread accepts to stop
when it's waiting on cond (waiting for relay log space).
Reset ignore_log_space_limit to 0 when the SQL thread terminates.
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
sql/ha_innodb.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
sql/handler.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
sql/sql_lex.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
sql/ha_innodb.cc:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
sql/handler.cc:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
sql/sql_parse.cc:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
sql/sql_yacc.yy:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
include/my_base.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
mysql-test/t/innodb.test:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
mysql-test/r/innodb.result:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/btr/btr0cur.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/btr/btr0pcur.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/buf/buf0buf.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/buf/buf0flu.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/data/data0data.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/data/data0type.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/dict/dict0boot.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/dict/dict0crea.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/dict/dict0dict.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/dict/dict0load.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/dict/dict0mem.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/fil/fil0fil.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/fsp/fsp0fsp.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/ha/ha0ha.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/ibuf/ibuf0ibuf.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/btr0cur.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/buf0buf.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/data0data.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/data0type.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/db0err.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/dict0dict.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/dict0mem.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/fil0fil.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/lock0lock.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/os0file.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/page0page.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/rem0cmp.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/row0row.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/row0sel.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/row0upd.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/srv0srv.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/data0type.ic:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/trx0roll.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/trx0trx.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/trx0types.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/ut0dbg.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/ut0mem.h:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/row0mysql.ic:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/include/trx0sys.ic:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/lock/lock0lock.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/log/log0log.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/log/log0recv.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/mem/mem0pool.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/os/os0file.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/os/os0thread.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/page/page0cur.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/page/page0page.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/pars/pars0opt.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/pars/pars0pars.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/rem/rem0cmp.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/row/row0ins.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/row/row0mysql.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/row/row0row.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/row/row0sel.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/row/row0umod.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/row/row0upd.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/row/row0vers.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/srv/srv0srv.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/srv/srv0start.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/trx/trx0rec.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/trx/trx0roll.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/trx/trx0sys.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/trx/trx0trx.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/ut/ut0mem.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
innobase/ut/ut0ut.c:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
Could not add a testcase for this: if the test goes into a MASTER_POS_WAIT, it waits
until this terminates (even doing "connection other_con" to launch "stop slave" is blocked).
- In MASTER_POS_WAIT() don't test if the I/O slave is running, but if the SQL thread
is running.
- Some DBUG info for this bugfix.
sql/slave.cc:
Fix for bug 651: now a dying SQL slave threads wakes up any waiting MASTER_POS_WAIT().
In MASTER_POS_WAIT() don't test if the I/O slave is running, but if the SQL thread
is running.
Some DBUG info.
include/my_sys.h:
Changed safe_malloc variables to start with sf_
mysys/default.c:
Use safemalloc (as we use dynamic_arrays() that uses it inderectly anyway)
mysys/my_static.c:
Changed safe_malloc variables to start with sf_
mysys/my_static.h:
Changed safe_malloc variables to start with sf_
Changed safemalloc structure to not have to be 8 byte aligned
mysys/safemalloc.c:
Changed safemalloc structure to not have to be 8 byte aligned. (portability fix)
BIG code cleanup
sql/mysqld.cc:
Changed safe_malloc variables to start with sf_
sql/sql_parse.cc:
Changed safe_malloc variables to start with sf_
Item_extract needs special implementation for eq().
Item_func::eq doesn't work correctly because we have to compare
Item_extract::int_type parameters also
We need to propagate this to 4.1
sql/item_timefunc.cc:
Item_extract::eq implementation added
sql/item_timefunc.h:
Item_extract::eq definition added
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
support issue with an unclear message which can have N reasons for appearing.
This should help us know at which point it failed, and get the errno when
my_open was involved (as the reason for the unclear message is often a
permission problem).
RESET SLAVE resets last_error and last_errno in SHOW SLAVE STATUS (without this,
rpl_loaddata.test, which is expected to generate an error in last_error, influenced
rpl_log_pos.test).
A small test update.
Added STOP SLAVE to mysql-test-run to get rid of several stupid error messages
which are printed while the master restarts and the slave attempts/manages to
connect to it and sends it nonsense binlog requests.
mysql-test/mysql-test-run.sh:
Before running a test, stop slave threads if they exist (if they don't
the script goes on fine). This also works fine with the manager.
Before this change, when the master was stopped/restarted (which happened before
the slave server was stopped/restarted), the slave threads
noticed the stop (so printed an error message in slave.err), then managed to
reconnect (to the new master, the one that is running for the _next_ test),
and this reconnection had time to produce error messages (because, for example,
the binlog the slave thread was asking had been deleted) before the slave server
was killed. This change reduces by 10% (40 lines) slave.err in replication tests.
mysql-test/r/rpl000018.result:
Result update.
mysql-test/t/rpl000018.test:
This test does "show master logs" so should do "reset master" instead of
relying on the previous tests.
sql/slave.cc:
More error messages.
sql/sql_repl.cc:
More error messages.
RESET SLAVE resets last_error and last_errno in SHOW SLAVE STATUS.
Added option --gdb
Free memory used by replicate_xxx and binglog_xxx options
mysql-test/mysql-test-run.sh:
Added --gdb when using gdb
mysys/thr_alarm.c:
Safety check
sql/mysql_priv.h:
Don't install signal handler for SIGINT by default
sql/mysqld.cc:
Don't install signal handler for SIGINT by default
Added option --gdb
Free memory used by replicate_xxx and binglog_xxx options.
Add statistics variable for killed threads
sql/repl_failsafe.cc:
Incremented aborted_connects on failure
sql/sql_list.cc:
Added free_list() to free memory on shutdown.
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.
Add syntax SAVEPOINT id and ROLLBACK TO SAVEPOINT id. This is compatible with DB2 and Oracle but not with SQL Server. Savepoints do not do anything yet, this is just parsing.
sql/lex.h:
Add syntax SAVEPOINT id and ROLLBACK TO SAVEPOINT id. This is compatible with DB2 and Oracle but not with SQL Server. Savepoints do not do anything yet, this is just parsing.
sql/mysqld.cc:
Add syntax SAVEPOINT id and ROLLBACK TO SAVEPOINT id. This is compatible with DB2 and Oracle but not with SQL Server. Savepoints do not do anything yet, this is just parsing.
sql/sql_lex.h:
Add syntax SAVEPOINT id and ROLLBACK TO SAVEPOINT id. This is compatible with DB2 and Oracle but not with SQL Server. Savepoints do not do anything yet, this is just parsing.
sql/sql_parse.cc:
Add syntax SAVEPOINT id and ROLLBACK TO SAVEPOINT id. This is compatible with DB2 and Oracle but not with SQL Server. Savepoints do not do anything yet, this is just parsing.
sql/sql_yacc.yy:
Add syntax SAVEPOINT id and ROLLBACK TO SAVEPOINT id. This is compatible with DB2 and Oracle but not with SQL Server. Savepoints do not do anything yet, this is just parsing.
Revert a change to dict_mem_index_add_field which slipped prematurely into the bk tree
sql/ha_innodb.cc:
Revert a change to dict_mem_index_add_field which slipped prematurely into the bk tree
Fix the BDB crash in the previous push; to save CPU remove duplicate calls of commit in InnoDB
sql/handler.cc:
Fix the BDB crash in the previous push; to save CPU remove duplicate calls of commit in InnoDB
sql/ha_innodb.cc:
Fix the BDB crash in the previous push; to save CPU remove duplicate calls of commit in InnoDB
More debugging variables
Increment aborted_threads in case of killed or too big packet
include/thr_alarm.h:
made prototype more portable
mysys/thr_alarm.c:
Print error if we can't delete an alarm
sql/mysqld.cc:
Statistics variable (for debugging)
sql/net_serv.cc:
statistics variable (for debugging)
sql/sql_parse.cc:
Increment aborted_threads in case of killed or too big packet
If the autocommit is on, let handler.cc commit or rollback the whole transaction at an updating SQL statement end. This probably fixes bug number 578. The problem was that when explicit LOCK TABLES is used, then the lock count method in autocommit does not work.
sql/handler.cc:
If the autocommit is on, let handler.cc commit or rollback the whole transaction at an updating SQL statement end. This probably fixes bug number 578. The problem was that when explicit LOCK TABLES is used, then the lock count method in autocommit does not work.
Portability fix for Windows 64
include/config-win.h:
Portability fix for Windows 64
include/my_global.h:
Portability fix for Windows 64
include/mysql_version.h.in:
Added [mysqld-base-version] as a default group for the mysqld server
innobase/include/univ.i:
Portability fix for Windows 64
sql/mysqld.cc:
Added [mysqld-base-version] as a default group for the mysqld server
Plus a changeset which I had committed but forgot to push (and this changeset is lost on
another computer, so I recreate it here). This changeset is "user-friendly SHOW BINLOG EVENTS
and CHANGE MASTER TO when log positions < 4 are used.
sql/slave.cc:
fix for bug 576 (DBUG_ASSERT failure when using CHANGE MASTER TO RELAY_LOG_POS=4).
sql/sql_repl.cc:
User-friendly SHOW BINLOG EVENTS:
SHOW BINLOG EVENTS FROM 0: currently one gets
MASTER> show binlog events from 0;
ERROR 1220: Error when executing command SHOW BINLOG EVENTS: Invalid log position
so we silently convert <4 to 4.
sql/sql_yacc.yy:
User-friendly CHANGE MASTER TO:
presently when one does CHANGE MASTER TO MASTER_LOG_POS=0 he gets
030425 10:12:41 Slave I/O thread: connected to master 'root@localhost:3306', r
eplication started in log 'gbichot-bin.013' at position 151
030425 10:12:41 Error reading packet from server: Client requested master to st
art replication from impossible position (server_errno=1236)
030425 10:12:41 Got fatal error 1236: 'Client requested master to start replica
tion from impossible position' from master when reading data from binary log
030425 10:12:41 Slave I/O thread exiting, read up to log 'gbichot-bin.013', pos
ition 151
while she/he probably just wanted to start at the beginning of the
binlog, which is 4. So we silently convert <4 to 4 in sql_yacc.yy
(i.e. in the slave code; fortunately all versions have the same
BIN_LOG_HEADER_SIZE=4 and we should not change this). See comments
for an explaination of why we have to do this in sql_yacc.yy,
not in sql_repl.cc.
Same thing for CHANGE MASTER TO RELAY_LOG_POS.
sql/unireg.h:
warning comment
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'
not the master's binlog) (SW 1571).
sql/slave.cc:
Clearer error message (in the customer's case, the relay log was corrupted,
not the master's binlog).
mysql-test/r/errors.result:
Rename: mysql-test/r/err000001.result -> mysql-test/r/errors.result
include/my_global.h:
typedef for future functions that needs string length as an argument
innobase/os/os0file.c:
Added operation to error messages
mysql-test/t/errors.test:
Cleaned up file to new error number standard
mysys/thr_alarm.c:
Made end_thr_alarm() work also with internal alarm thread.
(Not critical for MySQL)
sql/mysqld.cc:
Added sigemptyset() (bug found by valgrind)
Removed some wrong usage of thd when writing variable values
mysql-test/r/alter_table.result:
new results
mysql-test/r/lowercase_table.result:
new results
mysql-test/t/alter_table.test:
Test of ALTER TABLE DISABLE KEYS + INSERT DELAYED
mysql-test/t/lowercase_table.test:
Added test of alias name comparison
sql/mysql_priv.h:
Made closed_cached_table local
sql/sql_table.cc:
Fixed bug in ALTER TABLE DISABLE KEYS and INSERT DELAYED
mysql-test/r/query_cache.result:
test of 2 parts of bug 549
mysql-test/t/query_cache.test:
test of 2 parts of bug 549
sql/sql_cache.cc:
fixed query cache size showing
fixed query cache low memory detection
Fixed problem with localtime -> gmt where some times resulted in
different (but correct) timestamps. Now MySQL should use the smallest
possible timestamp value in this case. (Bug 316)
client/mysql.cc:
Fixed problem with prompt when server disconnect. (Bug 356)
client/mysqltest.c:
More debug information
mysql-test/mysql-test-run.sh:
Added support for --timezone in -master.opt
mysql-test/t/raid.test:
Fixed test if raid is enabled
sql/field.cc:
New my_gmt_sec() parameters
sql/mysql_priv.h:
New my_gmt_sec() parameters
sql/mysqld.cc:
Remove LOCK_timezone.
Code cleanup
sql/time.cc:
Fixed problem with localtime -> gmt where some times resulted in
different (but correct) timestamps. Now MySQL should use the smallest
possible timestamp value in this case. (Bug 316)