(back to behaviour of 4.1.7). Warning was not fatal: mysqldump continued. And the good thing is that it helped spot that starting from 4.1.7,
SHOW CREATE DATABASE failed (if --single-transaction and first db has non-empty InnoDB table and there is a second db) and thus mysqldump
produced CREATE DATABASE statements missing the CHARACTER SET clause. Removing the bug which was in the server, and the warning reporting in
mysqldump (compatibility with old servers).
client/mysqldump.c:
don't report errors as we deal almost gracefully with them (back to code of 4.1.7)
mysql-test/r/flush_block_commit.result:
result update
mysql-test/t/flush_block_commit.test:
let's verify that SHOW CREATE DATABASE succeeds even if connection has open transaction.
sql/sql_parse.cc:
There is no reason to forbid SHOW CREATE DATABASE if connection has an open transaction
Moved "../regex/libregex.a" before "../libmysql/libmysqlclient.la"
when linking. For -all-static linking libtool put -lc after the .la
file and this put the libc regex functions before our regex functions
when linking on Linux.
client/Makefile.am:
Moved "../regex/libregex.a" before "../libmysql/libmysqlclient.la"
when linking, for static linking libtool put -lc after the .la
and this put the libc regex functions before out regex functions
in the link on Linux.
Simple, non critical, fix to mysql_fix_privilege_tables
client/mysqldump.c:
Ensure that we free memory used with --order-by-primary
mysql-test/t/system_mysql_db_fix.test:
Remove warnings when compiled with support for ISAM
scripts/mysql_fix_privilege_tables.sh:
Ensure that 'my_print_defaults' is called correctly
sql/set_var.cc:
Code style cleanups
sql/sql_db.cc:
Fixed comments
sql/udf_example.cc:
Fixed comments
client/mysqladmin.cc:
Fix for Bug#6377 "Password Generation Discrepancy":
this is not a MySQL bug.
The problem is that Windows command line client doesn't trim single quotes
from arguments, as any UNIX shell does.
The fix just checks for this condition and gives a warning if it is true.
client/mysqladmin.cc:
Added option to mysqladmin for Netware.
netware/comp_err.def:
Copyright notice update, for Netware.
netware/isamchk.def:
Copyright notice update, for Netware.
netware/isamlog.def:
Copyright notice update, for Netware.
netware/libmysql.def:
Copyright notice update, for Netware.
netware/my_print_defaults.def:
Copyright notice update, for Netware.
netware/myisam_ftdump.def:
Copyright notice update, for Netware.
netware/myisamchk.def:
Copyright notice update, for Netware.
netware/myisamlog.def:
Copyright notice update, for Netware.
netware/myisampack.def:
Copyright notice update, for Netware.
netware/mysql.def:
Copyright notice update, for Netware.
netware/mysql_install.def:
Copyright notice update, for Netware.
netware/mysql_install_db.def:
Copyright notice update, for Netware.
netware/mysql_test_run.def:
Copyright notice update, for Netware.
netware/mysql_waitpid.def:
Copyright notice update, for Netware.
netware/mysqladmin.def:
Copyright notice update, for Netware.
netware/mysqlbinlog.def:
Copyright notice update, for Netware.
netware/mysqlcheck.def:
Copyright notice update, for Netware.
netware/mysqld.def:
Copyright notice update, for Netware.
netware/mysqld_safe.def:
Copyright notice update, for Netware.
netware/mysqldump.def:
Copyright notice update, for Netware.
netware/mysqlimport.def:
Copyright notice update, for Netware.
netware/mysqlshow.def:
Copyright notice update, for Netware.
netware/mysqltest.def:
Copyright notice update, for Netware.
netware/pack_isam.def:
Copyright notice update, for Netware.
netware/perror.def:
Copyright notice update, for Netware.
netware/replace.def:
Copyright notice update, for Netware.
netware/resolve_stack_dump.def:
Copyright notice update, for Netware.
netware/resolveip.def:
Copyright notice update, for Netware.
sql/mysqld.cc:
Changes to fix the abend on NetWare on recieving the server down and volume deactivation
events. Do not join for the main thread if these events occur
into mysql.com:/home/jonas/src/wl2077
client/Makefile.am:
Auto merged
client/mysqladmin.cc:
Auto merged
ndb/src/kernel/vm/Configuration.cpp:
Auto merged
client/Makefile.am:
Auto merged
client/mysqladmin.cc:
Auto merged
configure.in:
Auto merged
ndb/src/mgmclient/CommandInterpreter.cpp:
Auto merged
ndb/src/mgmclient/ndb_mgmclient.hpp:
Auto merged
ndb/src/mgmclient/ndb_mgmclient.h:
Auto merged
ndb/tools/restore/restore_main.cpp:
SCCS merged
.c -> .cc
fix source dist problem for ndb
fix type check problem for mysqladmin
client/Makefile.am:
fix for mysqladmin link problem
.c -> .cc
client/mysqladmin.cc:
fix for mysqladmin link problem
.c -> .cc
configure.in:
fix for mysqladmin link problem
.c -> .cc
ndb/include/Makefile.am:
fix source dist problem for ndb
ndb/src/mgmclient/CommandInterpreter.cpp:
fix type check problem
ndb/src/mgmclient/ndb_mgmclient.hpp:
fix type check problem
ndb/src/mgmclient/ndb_mgmclient.h:
fix type check problem
no need for dvlags to have DEFINE_CXA_PURE_VIRTUAL anymore
aligned the parsing of connectstring, retries for connect, allocation of nodeid for all cluster nodes
removed all dependencies of LocalConfig, except for mgmapi internals
enabled multiple management servrs to fetch data configurations from eachother
client/Makefile.am:
changed mysqladmin.c to mysqladmin.cc
client/mysqladmin.cc:
changed mysqladmin.c to mysqladmin.cc
configure.in:
no need for dvlags to have DEFINE_CXA_PURE_VIRTUAL anymore
ndb/include/mgmapi/mgmapi.h:
aligned the parsing of connectstring, retries for connect, allocation of nodeid for all cluster nodes
removed all dependencies of LocalConfig, except for mgmapi internals
ndb/include/mgmcommon/ConfigRetriever.hpp:
aligned the parsing of connectstring, retries for connect, allocation of nodeid for all cluster nodes
removed all dependencies of LocalConfig, except for mgmapi internals
ndb/include/ndbapi/ndb_cluster_connection.hpp:
aligned the parsing of connectstring, retries for connect, allocation of nodeid for all cluster nodes
removed all dependencies of LocalConfig, except for mgmapi internals
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
aligned the parsing of connectstring, retries for connect, allocation of nodeid for all cluster nodes
removed all dependencies of LocalConfig, except for mgmapi internals
ndb/src/kernel/main.cpp:
aligned the parsing of connectstring, retries for connect, allocation of nodeid for all cluster nodes
removed all dependencies of LocalConfig, except for mgmapi internals
ndb/src/kernel/vm/Configuration.cpp:
aligned the parsing of connectstring, retries for connect, allocation of nodeid for all cluster nodes
removed all dependencies of LocalConfig, except for mgmapi internals
changed to config setting to always use noOfMetaTables to make sure we don't overflow arrays
ndb/src/kernel/vm/Configuration.hpp:
aligned the parsing of connectstring, retries for connect, allocation of nodeid for all cluster nodes
removed all dependencies of LocalConfig, except for mgmapi internals
ndb/src/mgmapi/LocalConfig.cpp:
aligned the parsing of connectstring, retries for connect, allocation of nodeid for all cluster nodes
removed all dependencies of LocalConfig, except for mgmapi internals
ndb/src/mgmapi/LocalConfig.hpp:
aligned the parsing of connectstring, retries for connect, allocation of nodeid for all cluster nodes
removed all dependencies of LocalConfig, except for mgmapi internals
ndb/src/mgmapi/mgmapi.cpp:
aligned the parsing of connectstring, retries for connect, allocation of nodeid for all cluster nodes
removed all dependencies of LocalConfig, except for mgmapi internals
ndb/src/mgmclient/CommandInterpreter.cpp:
aligned the parsing of connectstring, retries for connect, allocation of nodeid for all cluster nodes
removed all dependencies of LocalConfig, except for mgmapi internals
ndb/src/mgmclient/main.cpp:
aligned the parsing of connectstring, retries for connect, allocation of nodeid for all cluster nodes
removed all dependencies of LocalConfig, except for mgmapi internals
ndb/src/mgmclient/ndb_mgmclient.hpp:
aligned the parsing of connectstring, retries for connect, allocation of nodeid for all cluster nodes
removed all dependencies of LocalConfig, except for mgmapi internals
ndb/src/mgmclient/ndb_mgmclient.h:
aligned the parsing of connectstring, retries for connect, allocation of nodeid for all cluster nodes
removed all dependencies of LocalConfig, except for mgmapi internals
ndb/src/mgmsrv/MgmtSrvr.cpp:
aligned the parsing of connectstring, retries for connect, allocation of nodeid for all cluster nodes
removed all dependencies of LocalConfig, except for mgmapi internals
enabled multiple management servrs to fetch data configurations from eachother
ndb/src/mgmsrv/MgmtSrvr.hpp:
aligned the parsing of connectstring, retries for connect, allocation of nodeid for all cluster nodes
removed all dependencies of LocalConfig, except for mgmapi internals
ndb/src/mgmsrv/MgmtSrvrConfig.cpp:
aligned the parsing of connectstring, retries for connect, allocation of nodeid for all cluster nodes
removed all dependencies of LocalConfig, except for mgmapi internals
ndb/src/mgmsrv/main.cpp:
aligned the parsing of connectstring, retries for connect, allocation of nodeid for all cluster nodes
removed all dependencies of LocalConfig, except for mgmapi internals
ndb/src/ndbapi/ndb_cluster_connection.cpp:
aligned the parsing of connectstring, retries for connect, allocation of nodeid for all cluster nodes
removed all dependencies of LocalConfig, except for mgmapi internals
ndb/tools/waiter.cpp:
aligned the parsing of connectstring, retries for connect, allocation of nodeid for all cluster nodes
removed all dependencies of LocalConfig, except for mgmapi internals
clause the the SELECT statement used to dump the data
for any table which has a primary or unique key. This
is useful for dumping MyISAM tables which will be later
imported into InnoDB tables.
client/client_priv.h:
add option OPT_ORDER_BY_PRIMARY
added libs variable for ndbmgmclient used by mysqladmin
add linkage with @ndb_mgmclient_libs@
additional options for ndbcluster
added support for managing the cluster to mysqladmin
added DEFINE_CXA_PURE_VIRTUAL flag to CFLAGS to enable linkage with c++ libs
use macros for C_MODE_START/END so that define of FIX_GCC_LINKING_PROBLEM works in c-programs
Makefile.am:
changed compile order, mysqladming with ndbcluster extensions needs ndb to be compiled first
acinclude.m4:
added libs variable for ndbmgmclient used by mysqladmin
client/Makefile.am:
add linkage with @ndb_mgmclient_libs@
client/client_priv.h:
additional options for ndbcluster
client/mysqladmin.c:
added support for managing the cluster to mysqladmin
configure.in:
added DEFINE_CXA_PURE_VIRTUAL flag to CFLAGS to enable linkage with c++ libs
include/my_global.h:
use macros for C_MODE_START/END so that define of FIX_GCC_LINKING_PROBLEM works in c-programs
(doing FLUSH TABLES first).
client/mysqldump.c:
try to lower the probability of a stall of mysqldump AND most client connections, when mysqldump does a FLUSH TABLES WITH READ LOCK
(doing FLUSH TABLES first).
client/mysqldump.c:
Merge with 4.0 (and reordering of options)
client/mysqltest.c:
Added DB as a user variable
myisam/mi_check.c:
Trivial cleanup
mysql-test/r/grant.result:
Move test to be in same order as in 4.0
mysql-test/r/mix_innodb_myisam_binlog.result:
Updated results
mysql-test/r/ps_1general.result:
Updated tests to work after privilege fixes
mysql-test/r/timezone3.result:
Updated results to 4.1
mysql-test/t/ps_1general.test:
Updated tests to work after privilege fixes
sql-common/my_time.c:
Applied sub-second patch from 4.0
sql/sql_acl.cc:
More debugging
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/deleted/.del-Makefile.am:
Delete: Docs/Images/Makefile.am
Build-tools/Bootstrap:
Auto merged
Docs/Makefile.am:
Auto merged
configure.in:
Auto merged
include/mysql.h:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
libmysql/libmysql.c:
Auto merged
mysys/default.c:
Auto merged
scripts/mysqld_safe.sh:
Auto merged
sql/log.cc:
Auto merged
mysql-test/t/mix_innodb_myisam_binlog.test:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_table.cc:
Auto merged
client/mysqldump.c:
merge with 4.0
(This only reorders options)
sql/ha_innodb.cc:
merge with 4.0 (Keep original code)
sql/time.cc:
Note that part of this patch is done in my_time.c
client/mysqldump.c:
Auto merged
sql/handler.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/handler.h:
SCCS merged
binlog coordinates corresponding to the dump".
The good news is that now mysqldump can be used to get an online backup of InnoDB *which works for
point-in-time recovery and replication slave creation*. Formerly, mysqldump --master-data --single-transaction
used to call in fact mysqldump --master-data, so the dump was not an online dump (took big lock all time of dump).
The only lock which is now taken in this patch is at the beginning of the dump: mysqldump does:
FLUSH TABLES WITH READ LOCK; START TRANSACTION WITH CONSISTENT SNAPSHOT; SHOW MASTER STATUS; UNLOCK TABLES;
so the lock time is in fact the time FLUSH TABLES WITH READ LOCK takes to return (can be 0 or very long, if
a table is undergoing a huge update).
I have done some more minor changes listed in the paragraph of mysqldump.c.
WL#2237 "WITH CONSISTENT SNAPSHOT clause for START TRANSACTION":
it's a START TRANSACTION which additionally starts a consistent read on all
capable storage engine (i.e. InnoDB). So, can serve as a replacement for
BEGIN; SELECT * FROM some_innodb_table LIMIT 1; which starts a consistent read too.
client/mysqldump.c:
Main change: mysqldump --single-transaction --master-data is now able to, at the same time,
take an online dump of InnoDB (using consistent read) AND get the binlog position corresponding to this dump
(before, using the two options used to silently cancel --single-transaction).
This uses the new START TRANSACTION WITH CONSISTENT SNAPSHOT syntax.
Additional changes:
a) cleanup:
- DBerror calls exit() so some code was unneeded
- no need to call COMMIT at end, leave disconnection do the job
- mysql_query_with_error_report()
b) requirements I had heard from colleagues:
- --master-data now requires an argument, to comment out ("--") the CHANGE MASTER or not
(commenting had been asked for point-in-time recovery when replication is not necessary).
- --first-slave is renamed to --lock-all-tables
c) more sensible behaviours (has been discussed internally):
- if used with --master-data, --flush-logs is probably intended to get a flush synchronous
with the dump, not one random flush per dumped db.
- disabled automatic reconnection as, at least, SQL_MODE would be lost (and also, depending
on options, LOCK TABLES, BEGIN, FLUSH TABLES WITH READ LOCK).
include/mysqld_error.h:
an error if START TRANSACTION WITH CONSISTENT SNAPSHOT is called and there is no consistent-read capable storage engine
(idea ((C) PeterG) is that it's a bit like CREATE TABLE ENGINE=InnoDB when there is no support for InnoDB).
sql/handler.cc:
new ha_start_consistent_snapshot(), which, inside an existing transaction, starts a consistent read
(offers an alternative to SELECTing any InnoDB table). Does something only for InnoDB.
Warning if no suitable engine supported.
sql/handler.h:
declarations
sql/lex.h:
symbols for lex
sql/share/czech/errmsg.txt:
new message
sql/share/danish/errmsg.txt:
new message
sql/share/dutch/errmsg.txt:
new message
sql/share/english/errmsg.txt:
new message
sql/share/estonian/errmsg.txt:
new message
sql/share/french/errmsg.txt:
new message
sql/share/german/errmsg.txt:
new message
sql/share/greek/errmsg.txt:
new message
sql/share/hungarian/errmsg.txt:
new message
sql/share/italian/errmsg.txt:
new message
sql/share/japanese/errmsg.txt:
new message
sql/share/korean/errmsg.txt:
new message
sql/share/norwegian-ny/errmsg.txt:
new message
sql/share/norwegian/errmsg.txt:
new message
sql/share/polish/errmsg.txt:
new message
sql/share/portuguese/errmsg.txt:
new message
sql/share/romanian/errmsg.txt:
new message
sql/share/russian/errmsg.txt:
new message
sql/share/serbian/errmsg.txt:
new message
sql/share/slovak/errmsg.txt:
new message
sql/share/spanish/errmsg.txt:
new message
sql/share/swedish/errmsg.txt:
new message
sql/share/ukrainian/errmsg.txt:
new message
sql/sql_lex.h:
new option in lex (transaction options)
sql/sql_parse.cc:
warning comment (never make UNLOCK TABLES commit a transaction, please);
support for starting consistent snapshot.
sql/sql_yacc.yy:
new clause WITH CONSISTENT SNAPSHOT (syntax ok'd by PeterG) for START TRANSACTION.
Revise the --hex-blob help message string. (This will need
revising after merge to 4.1, too, but the CHAR BINARY and
VARCHAR BINARY data types will be BINARY and VARBINRY.)
Now thd->mem_root is a pointer to thd->main_mem_root and THR_MALLOC is a pointer to thd->mem_root.
This gives us the following benefits:
- Allow us to easily detect if arena has already been swapped before (this fixes a bug in setup_conds() where arena was swaped twice in some cases)
- Faster swaps of arenas (as we don't have to copy the whole MEM_ROOT)
- We don't anymore have to call my_pthread_setspecific_ptr(THR_MALLOC,...) to change where memory is alloced. Now it's enough to set thd->mem_root
client/mysqltest.c:
Remove some not needed defines
(Things like this should be done in config-win.h)
include/config-win.h:
Added popen() and pclose() compatibility macros
mysql-test/t/rpl_failed_optimize-master.opt:
Portability fix
sql/ha_berkeley.cc:
New thd->memroot handling
sql/item_cmpfunc.cc:
Simpler arena swapping code
sql/item_func.cc:
Simpler arena swapping code
sql/item_subselect.cc:
Simpler arena swapping code
New thd->mem_root handling
sql/item_sum.cc:
New thd->mem_root handling
sql/item_timefunc.cc:
Fixed not-initalized usage errors found by valgrind
sql/log_event.cc:
New thd->mem_root handling
sql/mysql_priv.h:
New thd->mem_root handling
sql/mysqld.cc:
New thd->mem_root handling
sql/opt_range.cc:
New thd->mem_root handling
sql/repl_failsafe.cc:
New thd->mem_root handling
sql/set_var.cc:
New thd->mem_root handling
sql/sql_acl.cc:
New thd->mem_root handling
sql/sql_base.cc:
Simpler arena swapping code
New thd->mem_root handling
sql/sql_class.cc:
New thd->mem_root handling
sql/sql_class.h:
Simpler arena swapping code
New thd->mem_root handling
sql/sql_db.cc:
New thd->mem_root handling
sql/sql_error.cc:
New thd->mem_root handling
sql/sql_help.cc:
New thd->mem_root handling
sql/sql_insert.cc:
New thd->mem_root handling
sql/sql_parse.cc:
New thd->mem_root handling
Added some extra checking of return value of new
sql/sql_prepare.cc:
New thd->mem_root handling
sql/sql_select.cc:
New thd->mem_root handling
sql/sql_select.h:
New thd->mem_root handling
sql/sql_union.cc:
Simpler arena swapping code
sql/sql_yacc.yy:
New thd->mem_root handling
sql/table.cc:
New thd->mem_root handling
sql/thr_malloc.cc:
New thd->mem_root handling
tests/client_test.c:
Added drop table to some tests
Changed some table names to 't1'
in 4.1: Dump only VARBINARY() in hex,
while VARCHAR() COLLATE xxx_bin as a string.
client/mysqldump.c:
in 4.1: Dump only VARBINARY() in hex,
while VARCHAR() COLLATE xxx_bin as a string.
- 'mysqldump --help' comment that --xeh-blob
doesn't work with --extended-inserts was removed.
It does work now. Thanks to Lachlan
who noticed this wrong help message.
- Switched to use the recently introduced
mysql_hex_string() instead of slow sprintf().
Thanks to Sinisa for the idea.
- 'mysqldump --hex-blob' dumps in HEX not only
BLOBs but also BINARY(x) columns.
Thanks to Paul.
client/mysqldump.c:
- comment that --xeh-blob doesn't work with --extended-inserts was removed. It does work now.
- Switched to use recently introduced mysql_hex_string()
instead of sprintf()
- BINARY(x) are dumped in HEX too
mysql-test/r/fulltext.result:
Auto merged
mysql-test/t/fulltext.test:
Auto merged
mysql-test/t/insert.test:
Auto merged
mysql-test/t/type_float.test:
Auto merged