Use "SHOW TABLES FROM `db`" instead of $dbh->tables() in the
get_list_of_tables() routine.
The symptom is that, when used with recent versions of DBD::mysql,
mysqlhotcopy uses a double-qualified table name, for example:
Invalid db.table name 'test.test`.`x' at /usr/bin/mysqlhotcopy line 855.
This is caused by a change in DBD::mysql. See this diff:
http://svn.perl.org/viewcvs/modules/DBD-mysql/trunk/lib/DBD/mysql.pm?r1=9183&r2=9188
Basically, older DBD::mysql implemented a limited ->table_info method;
now the full method is implemented, and as a result DBI's ->tables()
method has access to the schema value, so it uses it.
scripts/mysqlhotcopy.sh:
Use "SHOW TABLES FROM `db`" instead of $dbh->tables() in
get_list_of_tables(). DBI's ->tables() method calls
"SHOW TABLES" under the hood, and then quotes the
names and (depending on DBD::mysql version) adds the schema
name, too. mysqlhotcopy doesn't want the schema name
or the quotes, so it's all around better to just call
"SHOW TABLES" itself.
scripts/mysqlhotcopy.sh:
Defined new raid directory regular expression variable that allows a mix of two alphanumeric characters. Replaced hardcode raid directory regular expressions with new variable.
BitKeeper/etc/ignore:
Added scripts/mysqlhotcopy.sh.rej to the ignore list
scripts/mysqlhotcopy.sh:
BUG#7967 Use fetchrow_hashref() when parsing SHOW SLAVE STATUS so
that --record-log-pos option will work with all versions from 3.23
forward and will not break again in the future if additional columns
are added.
DBD::mysql that quote table names are used by removing the quoting. Also fix
a bug that stripped all '~' characters out of the table regex instead of
just the leading one used to negate the expression. (Bug #8136)
scripts/mysqlhotcopy.sh:
remove quotes around table names
BitKeeper/etc/logging_ok:
auto-union
innobase/include/sync0arr.h:
Auto merged
innobase/sync/sync0arr.c:
Auto merged
scripts/mysqlhotcopy.sh:
Auto merged
innobase/srv/srv0srv.c:
SCCS merged
Noteworthy:
- New HANDLER code
- New multi-update-grant-check code
- Table lock code in ha_innodb.cc was not applied
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/deleted/.del-ctype-latin1_de.c~c5d8f9208bceb98e:
Auto merged
Build-tools/mysql-copyright-2:
Auto merged
acinclude.m4:
Auto merged
client/mysqladmin.c:
Auto merged
client/mysqldump.c:
Auto merged
include/config-win.h:
Auto merged
include/my_global.h:
Auto merged
include/myisam.h:
Auto merged
innobase/btr/btr0btr.c:
Auto merged
innobase/buf/buf0buf.c:
Auto merged
ltmain.sh:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
innobase/fsp/fsp0fsp.c:
Auto merged
innobase/include/dict0dict.h:
Auto merged
innobase/include/row0mysql.h:
Auto merged
innobase/log/log0log.c:
Auto merged
innobase/log/log0recv.c:
Auto merged
innobase/pars/pars0opt.c:
Auto merged
innobase/row/row0row.c:
Auto merged
innobase/sync/sync0arr.c:
Auto merged
innobase/ut/ut0dbg.c:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/mi_close.c:
Auto merged
myisam/mi_create.c:
Auto merged
myisam/mi_locking.c:
Auto merged
myisam/myisampack.c:
Auto merged
mysql-test/r/delete.result:
Auto merged
mysql-test/r/func_if.result:
Auto merged
Build-tools/mysql-copyright:
Merge with 4.0 (too most of the code from 4.0)
Makefile.am:
merge
client/mysql.cc:
Used 4.1 code
configure.in:
merge
innobase/os/os0file.c:
merge
innobase/row/row0mysql.c:
merge
mysql-test/r/ctype_latin1_de.result:
merge
mysql-test/r/flush_table.result:
merge
mysql-test/r/func_str.result:
merge
mysql-test/r/handler.result:
merge
mysql-test/r/multi_update.result:
merge
mysql-test/r/type_timestamp.result:
Removed testing of 'new' mode, as this is only relevant for 4.0
mysql-test/r/update.result:
merge
mysql-test/t/delete.test:
merge
mysql-test/t/flush_table.test:
merge
mysql-test/t/func_str.test:
merge
mysql-test/t/handler.test:
merge
mysql-test/t/multi_update.test:
merge
mysql-test/t/type_timestamp.test:
Removed testing of 'new' mode, as this is only relevant for 4.0
mysql-test/t/update.test:
merge
mysys/errors.c:
merge
mysys/my_fstream.c:
merge
mysys/my_pread.c:
merge
mysys/my_write.c:
merge
mysys/mysys_priv.h:
merge
scripts/mysqlhotcopy.sh:
merge
sql/field.cc:
Keep code from 4.1
sql/field.h:
Keep code from 4.1
sql/ha_innodb.cc:
Don't merge lock code from 4.0; Heikki will look at this
sql/ha_myisam.cc:
merge
sql/handler.cc:
merge
sql/item_cmpfunc.cc:
merge
sql/item_cmpfunc.h:
merge
sql/item_strfunc.cc:
merge
sql/mysql_priv.h:
merge
sql/mysqld.cc:
merge
sql/protocol.cc:
merge
sql/records.cc:
merge
sql/repl_failsafe.cc:
merge
mysql-test/r/lock_multi.result:
merge
mysql-test/t/ctype_latin1_de.test:
merge
mysql-test/t/func_if.test:
merge
mysql-test/t/lock_multi.test:
merge
sql/repl_failsafe.h:
merge
Remove unnessessary header protection
sql/slave.h:
merge
sql/sql_acl.cc:
merge
sql/sql_base.cc:
merge
sql/sql_cache.cc:
auto merge
sql/sql_class.cc:
merge
sql/sql_class.h:
merge
sql/sql_delete.cc:
merge
sql/sql_handler.cc:
Get new HANDLER code into 4.1
sql/sql_parse.cc:
Keep old file
sql/sql_repl.cc:
merge
sql/sql_repl.h:
merge
sql/sql_show.cc:
merge
sql/sql_table.cc:
merge
sql/sql_union.cc:
Applied the examine_rows bug fix from 4.0 by hand
sql/sql_update.cc:
New multi-update-grant-check code from 4.0
sql/sql_yacc.yy:
New multi-update-grant-check code from 4.0
sql/stacktrace.c:
merge
sql/table.h:
merge
when copying a small index file because the value returned
for $length is < 1024. This can happen if the filehandle
was open()ed as an UTF-8 encoded file with Unicode characters
(In this case read() returns characters not bytes)
(Thanks to Mike Bethune) for this hint)
Build-tools/Do-compile:
Fixed indentation
configure.in:
Added patches from Novell
Added C_EXTRA_FLAGS as an easy way to pass flags to both CFLAGS and CXXFLAGS
extra/perror.c:
Fixed error number reporting to not report 'Unknown error'
include/my_global.h:
Defines to make NETWARE patches cleaner
include/thr_alarm.h:
Fixed wrong macro
netware/mysql_install_db.c:
Indentation fix
"mysqlhotcopy fails to copy tables but does not indicate a failure"
("does not indicate a failure");
this is about "mysqlhotcopy fails to copy tables".
mysql-test/t/rpl_error_ignored_table-slave.opt:
added a missing newline
scripts/mysqlhotcopy.sh:
Fix for BUG#812.
The problem was that with many tables to copy (10000 in the bug's example),
the generated 'cp' command line was 1MB long, whereas (at least on my Linux) it
should not exceed 128 kB. Testing the 'cp' in a shell terminal gives
"arguments list too long".
So we issue several small (100 kB) 'cp' command lines instead of a big one.
Of course, this will still fail on systems where the limit is below 100 kB.
We now have safe_system() which cuts the command line in pieces,
and calls safe_simple_system() (execution) for each piece.
Undo serg's patch that used my_print_defaults,
and instead simply do not define $opt{user}.
This allows the script to use option files properly.
scripts/mysqlhotcopy.sh:
Undo serg's patch that used my_print_defaults,
and instead simply do not define $opt{user}.
This allows the script to use option files properly.
the --password parameter (better add it to my.cnf instead) (Thanks to
Christian Hammers for the suggestion)
scripts/mysqlhotcopy.sh:
- added word of warning about providing the password as cleartext using
the --password parameter (better add it to my.cnf instead)
myisam/mi_open.c:
Fixed problem with wrongly calculated max_data_file_length
mysql-test/Makefile.am:
Added missing .require test files
scripts/mysqlhotcopy.sh:
Remove end / from directory names (portability fix)
tests/grant.res:
Update of test results
Added option --host to mysqlhotcopy
mysql-test/mysql-test-run.sh:
Added error message if the server doesn't start.
Increase connect timeout a bit (for running under purify).
mysql-test/t/rpl000001.test:
Longer sleep time (for running under purify)
scripts/mysqlhotcopy.sh:
Added option --host for usage with TCP/IP connections
sql/gen_lex_hash.cc:
Fixed typo
include/sslopt-usage.h:
Paul's patch for --ssl-xxx options for the --help message
scripts/mysqlhotcopy.sh:
Paul's patch for --port option
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Fix for bug on intel where (int32) 1 << 32 == 1, which gave problems when using 32 keys.
Allow SET PASSWORD for anonymous user
Docs/manual.texi:
Changelog
client/mysql.cc:
Added help for --local-infile
client/mysqlimport.c:
Merge with 4.0.
Patch for LOCAL INFILE handling
configure.in:
cleanup
include/global.h:
Fix for bug on intel where (int32) 1 << 32 == 1
mysql-test/r/create.result:
Test of CREATE TABLE with 32 keys
mysql-test/t/create.test:
Test of CREATE TABLE with 32 keys
scripts/mysqlhotcopy.sh:
Patch for databasenames with space.
sql/ha_isam.cc:
Fix for bug on intel where (int32) 1 << 32 == 1
sql/ha_myisam.cc:
Fix for bug on intel where (int32) 1 << 32 == 1
sql/ha_myisammrg.cc:
Fix for bug on intel where (int32) 1 << 32 == 1
sql/mysqld.cc:
Added help for --local-infile
sql/sql_acl.cc:
Allow SET PASSWORD of anonymous user
sql/table.cc:
Fix for bug on intel where (int32) 1 << 32 == 1
Build-tools/Do-compile:
Fixed typo
Docs/manual.texi:
Changelog
mysql-test/r/type_date.result:
Added test of bug in DATE_FORMAT
mysql-test/t/type_date.test:
Added test of bug in DATE_FORMAT
scripts/mysqlhotcopy.sh:
Fix for RAID files
sql/table.cc:
Fixed typo in last patch
Docs/manual.texi:
ChangeLog
myisam/mi_locking.c:
Remove wrong optimistic locking. (Doesn't affect MySQL)
mysys/my_init.c:
Release character sets at end
scripts/mysqlhotcopy.sh:
RAID tables are now copied
Applied patch to mysqlhotcopy
myisam/mi_open.c:
Fixed some purify warnings
mysql-test/mysql-test-run.sh:
Added --core as default to test suite
scripts/make_binary_distribution.sh:
Added missing mysqlbinlog
scripts/mysqlhotcopy.sh:
Applied patch with --record-log option
sql/item_timefunc.cc:
Fixed problem with SEC_TO_TIME() for long signed integers.
Applied patch for mysqlhotcopy
Fixed open-files-size option in safe_mysqld
Docs/manual.texi:
Updated LOCK TABLES section
scripts/mysqlhotcopy.sh:
Removed depricated DBI calls.
Fixed bug which resulted in nothing being copied when a regexp was
specified but no database name(s).
Patch by Jeremy D. Zawodny
scripts/safe_mysqld.sh:
Fixed open-files-size option
Added SELECT .. FOR UPDATE and SELECT .. IN SHARE MODE
Docs/manual.texi:
Updated information about SET TRANSACTION ISOLATION LEVEL
configure.in:
Upgraded version number
isam/_dbug.c:
Fixed wrong fprintf
isam/isamchk.c:
Added new error message
myisam/mi_check.c:
Added new error message
mysql-test/mysql-test-run.sh:
Don't wait too long for server start
mysys/mf_keycache.c:
Cleaned up some error messages
scripts/mysqlhotcopy.sh:
Applied patch for --resetmaster --resetslave
sql-bench/bench-init.pl.sh:
Fix for windows
sql/handler.cc:
Added isolation levels and gemini spinlocks
sql/handler.h:
Added isolation levels
sql/item_strfunc.cc:
Cleanup of CONCAT_WS()
sql/lex.h:
Added isolation levels
sql/mysql_priv.h:
Added isolation levels
sql/mysqld.cc:
Added isolation levels
sql/sql_class.cc:
Added isolation levels
Moved variable initialization to different code segments
sql/sql_class.h:
Added isolation levels
sql/sql_lex.h:
Added isolation levels
sql/sql_parse.cc:
Added isolation levels
sql/sql_update.cc:
cleanup
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Fixed bug in LEFT JOIN
Added bdb_log_buffer_size
Docs/manual.texi:
Added documentation for mysqlhotcopy
client/mysql.cc:
Fixed core dump when column names couldn't be read
configure.in:
Fixed possible error
mit-pthreads/Changes-mysql:
Patches for NetBSD/macppc
mit-pthreads/config/config.guess:
Patches for NetBSD/macppc
mit-pthreads/config/configure.in:
Patches for NetBSD/macppc
mit-pthreads/config/configure:
Patches for NetBSD/macppc
mysql-test/r/join_outer.result:
New join test
mysql-test/t/join_outer.test:
New join test
scripts/mysqlhotcopy.sh:
Patches from ASK
sql/ha_berkeley.cc:
Adeed log buffer cache
sql/ha_berkeley.h:
Adeed log buffer cache
sql/log.cc:
Fixed possible overrun bug
sql/mysqld.cc:
Fix for Mac OS X public beta
Added bdb_log_buffer_size
sql/sql_select.cc:
Fixed bug in LEFT JOIN
tests/mail_to_db.pl:
Removed unsubscribe tails
tests/pmail.pl:
Sort mails according to date
Change DROP TABLE to first drop the data, then the .frm file
Docs/manual.texi:
Updated TODO and Changelog
include/Makefile.am:
Portability fix
mysql-test/misc/select.res:
***MISSING WEAVE***
mysys/mf_iocache2.c:
cleanup
scripts/mysqlhotcopy.sh:
Fixed --noindices
sql-bench/Results/ATIS-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg:
Updated benchmarks
sql-bench/Results/RUN-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg:
Updated benchmarks
sql-bench/Results/alter-table-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg:
Updated benchmarks
sql-bench/Results/big-tables-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg:
Updated benchmarks
sql-bench/Results/connect-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg:
Updated benchmarks
sql-bench/Results/create-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg:
Updated benchmarks
sql-bench/Results/insert-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg:
Updated benchmarks
sql-bench/Results/select-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg:
Updated benchmarks
sql-bench/Results/wisconsin-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg:
Updated benchmarks
sql-bench/limits/pg.cfg:
Updated to new crash-me
sql-bench/server-cfg.sh:
Fixes for pg 7.0.2
sql/ha_berkeley.cc:
Lots of BDB table fixes
sql/ha_berkeley.h:
Lots of BDB table fixes
sql/handler.cc:
Change DROP TABLE to first drop the data, then the .frm file
sql/hostname.cc:
Fixes for empty hostnames
sql/log.cc:
Fixed transaction logging
sql/share/swedish/errmsg.OLD:
cleanup
sql/sql_delete.cc:
Fixes for logging
sql/sql_insert.cc:
Fixes for logging
sql/sql_select.cc:
Fixes for BDB tables
sql/sql_table.cc:
Change DROP TABLE to first drop the data, then the .frm file
sql/sql_update.cc:
Fixes for logging
BitKeeper/etc/ignore:
Added scripts/mysqld_multi to the ignore list
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Docs/manual.texi:
Updated links and added more examples
client/mysql.cc:
Added --timeout + merge of Jani:s changes
isam/_dynrec.c:
Fixed bug when making big rows 1 byte smaller
scripts/mysqlhotcopy.sh:
Added regexp handling of filenames
sql-bench/test-insert.sh:
More order by tests
sql/mf_iocache.cc:
Cleanup
sql/mysqld.cc:
Moved my_delete() to before master thread died
sql/sql_parse.cc:
Fixed wrong comparison
Docs/manual.texi:
Changelog and small fixes
mysys/my_init.c:
Changed UMASK and UMASK_DIR to work also with octal
scripts/mysqlhotcopy.sh:
Fixed some small bugs
sql/share/swedish/errmsg.OLD:
Fixed wrong entry
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
scripts/make_binary_distribution.sh:
Change mode to -rw-rw-r--
scripts/mysql_convert_table_format.sh:
Change mode to -rw-rw-r--
scripts/mysql_find_rows.sh:
Change mode to -rw-rw-r--
scripts/mysql_setpermission.sh:
Change mode to -rw-rw-r--
scripts/mysql_zap.sh:
Change mode to -rw-rw-r--
scripts/mysqlaccess.sh:
Change mode to -rw-rw-r--
scripts/mysqlbug.sh:
Change mode to -rw-rw-r--
scripts/mysqlhotcopy.sh:
Change mode to -rw-rw-r--
scripts/safe_mysqld-watch.sh:
Change mode to -rw-rw-r--
scripts/safe_mysqld.sh:
Change mode to -rw-rw-r--
scripts/mysqlaccess.conf:
Change mode to -rw-rw-r--
support-files/binary-configure.sh:
Change mode to -rw-rw-r--
Docs/Makefile.am:
Remove manual.ps when doing make distclean
Docs/manual.texi:
Fix
Makefile.am:
Fix that my_config.h is properly created and removed
include/Makefile.am:
Fix that my_config.h is properly created and removed
libmysql/Makefile.shared:
Add some distclean targets
scripts/Makefile.am:
Add some distclean targets
support-files/Makefile.am:
Add some distclean targets
Docs/Makefile.am:
Removed typo
Docs/internals.texi:
Added documentation about filesort
Docs/manual.texi:
Lots of changes, including information about the password in the mysql.user table
config.h.in:
***MISSING WEAVE***
heap/hp_rnext.c:
Fix of reading of read-next
include/config-win.h:
Fix for Ia64
include/global.h:
Fix for Ia64
include/my_base.h:
Fix for Ia64
include/myisam.h:
New repair options
isam/_dynrec.c:
Typo fixes
isam/_search.c:
Fix for Ia64
merge/rrnd.c:
Fix of ORDER BY for MERGE tables
myisam/ft_eval.c:
Fix for Ia64
myisam/ft_parser.c:
Fix for Ia64
myisam/ft_static.c:
Portability fixes
myisam/mi_check.c:
Fix for Ia64 + delay key creation
myisam/mi_locking.c:
Portability fixes
myisam/myisamdef.h:
Fixes for automatic table repair
myisam/myisampack.c:
Version number increment
myisammrg/myrg_rrnd.c:
Fix of ORDER BY for mymerge tables
mysql.proj:
Updated
mysys/charset.c:
Fix for Ia64
mysys/mf_casecnv.c:
Fix for Ia64
mysys/mf_pack.c:
Fix for Ia64
mysys/mf_path.c:
Fix for Ia64
mysys/mf_wfile.c:
Fix for Ia64
mysys/my_alloc.c:
Fix for Ia64
mysys/my_lib.c:
Fix for Ia64
mysys/my_lread.c:
Fix for Ia64
mysys/my_lwrite.c:
Fix for Ia64
mysys/my_winthread.c:
Fix for Ia64
mysys/string.c:
Fix for Ia64
mysys/thr_alarm.c:
Fix for Ia64
mysys/thr_rwlock.c:
Fix of scheduler bug for systems without rw_locks
regex/regcomp.c:
Fix for Ia64
regex/regex.h:
Fix for Ia64
regex/regex2.h:
Fix for Ia64
scripts/mysqlhotcopy.sh:
Explicit version number (because of bitkeeper)
sql-bench/bench-init.pl.sh:
New help message
sql-bench/server-cfg.sh:
Updates for postgreSQL 7.0
sql/ChangeLog:
Changelog
sql/field.cc:
Fix of datetime function handling
sql/filesort.cc:
More comments
sql/gen_lex_hash.cc:
More options
sql/ha_berkeley.cc:
Fix for part key reading
sql/ha_berkeley.h:
Indentation
sql/ha_myisam.cc:
Fix for delayed key creation
sql/ha_myisam.h:
Fix for delayed key creation
sql/handler.h:
Fix for delayed key creation
sql/item_func.cc:
Fix of crash when using constant expression with UDF functions in WHERE
sql/item_timefunc.cc:
Fix of datetime function handling
sql/mini_client.cc:
Portability fix
sql/mysql_priv.h:
Optimization of select initialization
sql/mysqld.cc:
Portability fixes, thread cache and min argument for connect_timeout
sql/sql_load.cc:
Delayed key handling
sql/sql_parse.cc:
Portability fixes and select initialization optimization
sql/sql_select.cc:
Small optimization + more comments
sql/sql_table.cc:
Fix default value adding to blob with alter table + delayed index creation
sql/sql_yacc.yy:
Optimized select initialization
sql/structs.h:
Fix for part key read
strings/ctype-sjis.c:
Fix for Ia64
strings/ctype-tis620.c:
Fix for Ia64
strings/t_ctype.h:
bk fix
support-files/mysql.spec.sh:
Added comment
vio/viotest-ssl.cc:
bk fix
vio/viotest-sslconnect.cc:
bk fix
vio/viotest.cc:
bk fix
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted