=== added file '.gitignore'
--- .gitignore	1970-01-01 00:00:00 +0000
+++ .gitignore	2016-09-14 12:24:46 +0000
@@ -0,0 +1,3071 @@
+*-t
+*.Plo
+*.Po
+*.a
+*.bb
+*.bbg
+*.bin
+*.cdf
+*.core
+*.d
+*.da
+*.dir
+*.dll
+*.dylib
+*.exe
+*.exp
+*.gcda
+*.gcno
+*.gcov
+*.idb
+*.ilk
+*.la
+*.lai
+*.lib
+*.lo
+*.manifest
+*.map
+*.o
+*.obj
+*.old
+*.pch
+*.pdb
+*.reject
+*.res
+*.rule
+*.sbr
+*.so
+*.so.*
+*.spec
+*.user
+*.vcproj
+*.vcproj.cmake
+*.vcxproj
+*.vcxproj.filters
+*/*.dir/*
+Debug
+MySql.sdf
+Win32
+*/*_pure_*warnings
+*/.deps
+*/.libs/*
+*/.pure
+*/debug/*
+*/minsizerel/*
+*/release/*
+RelWithDebInfo
+*~
+.*.swp
+./CMakeCache.txt
+./MySql.ncb
+./MySql.sln
+./MySql.suo
+./README.build-files
+./cmakecache.txt
+./config.h
+./copy_mysql_files.bat
+./fix-project-files
+./mysql*.ds?
+./mysql.ncb
+./mysql.sln
+./mysql.suo
+./prepare
+.DS_Store
+.defs.mk
+.depend
+.depend.mk
+.deps
+.gdb_history
+.gdbinit
+.libs
+.o
+.out
+.snprj/*
+.vimrc
+50
+=6
+BUILD/compile-pentium-maintainer
+BitKeeper/etc/RESYNC_TREE
+BitKeeper/etc/config
+BitKeeper/etc/csets
+BitKeeper/etc/csets-in
+BitKeeper/etc/csets-out
+BitKeeper/etc/gone
+BitKeeper/etc/level
+BitKeeper/etc/pushed
+BitKeeper/post-commit
+BitKeeper/post-commit-manual
+BitKeeper/tmp/*
+BitKeeper/tmp/bkr3sAHD
+BitKeeper/tmp/gone
+CMakeFiles
+CMakeFiles/*
+CTestTestfile.cmake
+COPYING
+COPYING.LIB
+Docs/#manual.texi#
+Docs/INSTALL-BINARY
+Docs/Images/myaccess-odbc.txt
+Docs/Images/myaccess.txt
+Docs/Images/myarchitecture.txt
+Docs/Images/mydll-properties.txt
+Docs/Images/mydsn-example.txt
+Docs/Images/mydsn-icon.txt
+Docs/Images/mydsn-options.txt
+Docs/Images/mydsn-setup.txt
+Docs/Images/mydsn-test-fail.txt
+Docs/Images/mydsn-test-success.txt
+Docs/Images/mydsn-trace.txt
+Docs/Images/mydsn.txt
+Docs/Images/myflowchart.txt
+Docs/include.texi
+Docs/internals.html
+Docs/internals.info
+Docs/internals.pdf
+Docs/internals.txt
+Docs/internals_toc.html
+Docs/manual.aux
+Docs/manual.cp
+Docs/manual.cps
+Docs/manual.de.log
+Docs/manual.dvi
+Docs/manual.fn
+Docs/manual.fns
+Docs/manual.html
+Docs/manual.ky
+Docs/manual.log
+Docs/manual.pdf
+Docs/manual.pg
+Docs/manual.texi.orig
+Docs/manual.texi.rej
+Docs/manual.toc
+Docs/manual.tp
+Docs/manual.txt
+Docs/manual.vr
+Docs/manual_a4.ps
+Docs/manual_letter.ps
+Docs/manual_toc.html
+Docs/my_sys.doc
+Docs/mysql.info
+Docs/mysql.xml
+Docs/safe-mysql.xml
+Docs/tex.fmt
+Docs/texi2dvi.out
+EXCEPTIONS-CLIENT
+INSTALL-SOURCE
+INSTALL-WIN-SOURCE
+Logs/*
+MIRRORS
+Makefile
+Makefile.in
+Makefile.in'
+PENDING/*
+scripts/scripts
+TAGS
+VC++Files/client/mysql_amd64.dsp
+ac_available_languages_fragment
+acinclude.m4
+aclocal.m4
+analyse.test
+autom4te-2.53.cache/*
+autom4te-2.53.cache/output.0
+autom4te-2.53.cache/requests
+autom4te-2.53.cache/traces.0
+autom4te.cache/*
+autom4te.cache/output.0
+autom4te.cache/requests
+autom4te.cache/traces.0
+bdb/*.ds?
+bdb/*.vcproj
+bdb/README
+bdb/btree/btree_auto.c
+bdb/build_unix/*
+bdb/build_vxworks/db.h
+bdb/build_vxworks/db_int.h
+bdb/build_win32/db.h
+bdb/build_win32/db_archive.dsp
+bdb/build_win32/db_checkpoint.dsp
+bdb/build_win32/db_config.h
+bdb/build_win32/db_cxx.h
+bdb/build_win32/db_deadlock.dsp
+bdb/build_win32/db_dll.dsp
+bdb/build_win32/db_dump.dsp
+bdb/build_win32/db_int.h
+bdb/build_win32/db_java.dsp
+bdb/build_win32/db_load.dsp
+bdb/build_win32/db_perf.dsp
+bdb/build_win32/db_printlog.dsp
+bdb/build_win32/db_recover.dsp
+bdb/build_win32/db_stat.dsp
+bdb/build_win32/db_static.dsp
+bdb/build_win32/db_tcl.dsp
+bdb/build_win32/db_test.dsp
+bdb/build_win32/db_upgrade.dsp
+bdb/build_win32/db_verify.dsp
+bdb/build_win32/ex_access.dsp
+bdb/build_win32/ex_btrec.dsp
+bdb/build_win32/ex_env.dsp
+bdb/build_win32/ex_lock.dsp
+bdb/build_win32/ex_mpool.dsp
+bdb/build_win32/ex_tpcb.dsp
+bdb/build_win32/excxx_access.dsp
+bdb/build_win32/excxx_btrec.dsp
+bdb/build_win32/excxx_env.dsp
+bdb/build_win32/excxx_lock.dsp
+bdb/build_win32/excxx_mpool.dsp
+bdb/build_win32/excxx_tpcb.dsp
+bdb/build_win32/include.tcl
+bdb/build_win32/libdb.def
+bdb/build_win32/libdb.rc
+bdb/db/crdel_auto.c
+bdb/db/db_auto.c
+bdb/dbinc_auto/*.*
+bdb/dbreg/dbreg_auto.c
+bdb/dist/autom4te-2.53.cache/*
+bdb/dist/autom4te-2.53.cache/output.0
+bdb/dist/autom4te-2.53.cache/requests
+bdb/dist/autom4te-2.53.cache/traces.0
+bdb/dist/autom4te.cache/*
+bdb/dist/autom4te.cache/output.0
+bdb/dist/autom4te.cache/requests
+bdb/dist/autom4te.cache/traces.0
+bdb/dist/config.hin
+bdb/dist/configure
+bdb/dist/db.h
+bdb/dist/db_config.h
+bdb/dist/db_cxx.h
+bdb/dist/db_int.h
+bdb/dist/include.tcl
+bdb/dist/tags
+bdb/dist/template/db_server_proc
+bdb/dist/template/gen_client_ret
+bdb/dist/template/rec_btree
+bdb/dist/template/rec_crdel
+bdb/dist/template/rec_db
+bdb/dist/template/rec_dbreg
+bdb/dist/template/rec_fileops
+bdb/dist/template/rec_hash
+bdb/dist/template/rec_log
+bdb/dist/template/rec_qam
+bdb/dist/template/rec_txn
+bdb/examples_c/ex_apprec/ex_apprec_auto.c
+bdb/examples_c/ex_apprec/ex_apprec_auto.h
+bdb/examples_c/ex_apprec/ex_apprec_template
+bdb/examples_java
+bdb/fileops/fileops_auto.c
+bdb/hash/hash_auto.c
+bdb/include/btree_auto.h
+bdb/include/btree_ext.h
+bdb/include/clib_ext.h
+bdb/include/common_ext.h
+bdb/include/crdel_auto.h
+bdb/include/db_auto.h
+bdb/include/db_ext.h
+bdb/include/db_server.h
+bdb/include/env_ext.h
+bdb/include/gen_client_ext.h
+bdb/include/gen_server_ext.h
+bdb/include/hash_auto.h
+bdb/include/hash_ext.h
+bdb/include/lock_ext.h
+bdb/include/log_auto.h
+bdb/include/log_ext.h
+bdb/include/mp_ext.h
+bdb/include/mutex_ext.h
+bdb/include/os_ext.h
+bdb/include/qam_auto.h
+bdb/include/qam_ext.h
+bdb/include/rpc_client_ext.h
+bdb/include/rpc_server_ext.h
+bdb/include/tcl_ext.h
+bdb/include/txn_auto.h
+bdb/include/txn_ext.h
+bdb/include/xa_ext.h
+bdb/java/src/com/sleepycat/db/Db.java
+bdb/java/src/com/sleepycat/db/DbBtreeStat.java
+bdb/java/src/com/sleepycat/db/DbConstants.java
+bdb/java/src/com/sleepycat/db/DbHashStat.java
+bdb/java/src/com/sleepycat/db/DbLockStat.java
+bdb/java/src/com/sleepycat/db/DbLogStat.java
+bdb/java/src/com/sleepycat/db/DbMpoolFStat.java
+bdb/java/src/com/sleepycat/db/DbQueueStat.java
+bdb/java/src/com/sleepycat/db/DbRepStat.java
+bdb/java/src/com/sleepycat/db/DbTxnStat.java
+bdb/libdb_java/java_stat_auto.c
+bdb/libdb_java/java_stat_auto.h
+bdb/log/log_auto.c
+bdb/qam/qam_auto.c
+bdb/rpc_client/db_server_clnt.c
+bdb/rpc_client/gen_client.c
+bdb/rpc_server/c/db_server_proc.c
+bdb/rpc_server/c/db_server_proc.sed
+bdb/rpc_server/c/db_server_svc.c
+bdb/rpc_server/c/db_server_xdr.c
+bdb/rpc_server/c/gen_db_server.c
+bdb/rpc_server/db_server.x
+bdb/rpc_server/db_server_proc.sed
+bdb/rpc_server/db_server_svc.c
+bdb/rpc_server/db_server_xdr.c
+bdb/rpc_server/gen_db_server.c
+bdb/test/TESTS
+bdb/test/include.tcl
+bdb/test/logtrack.list
+bdb/txn/txn_auto.c
+binary/*
+bkpull.log
+bkpull.log*
+bkpull.log.2
+bkpull.log.3
+bkpull.log.4
+bkpull.log.5
+bkpull.log.6
+bkpush.log
+bkpush.log*
+build.log
+build_tags.sh
+client/#mysql.cc#
+client/*.ds?
+client/*.vcproj
+client/.deps/base64.Po
+client/.deps/completion_hash.Po
+client/.deps/dummy.Po
+client/.deps/mf_tempdir.Po
+client/.deps/my_bit.Po
+client/.deps/my_bitmap.Po
+client/.deps/my_getsystime.Po
+client/.deps/my_new.Po
+client/.deps/my_user.Po
+client/.deps/my_vle.Po
+client/.deps/mysql.Po
+client/.deps/mysql_upgrade.Po
+client/.deps/mysqladmin.Po
+client/.deps/mysqlbinlog.Po
+client/.deps/mysqlcheck.Po
+client/.deps/mysqldump.Po
+client/.deps/mysqlimport.Po
+client/.deps/mysqlshow.Po
+client/.deps/mysqlslap.Po
+client/.deps/mysqltest.Po
+client/.deps/readline.Po
+client/.deps/sql_string.Po
+client/.libs -prune
+client/.libs/lt-mysql
+client/.libs/lt-mysqladmin
+client/.libs/lt-mysqlbinlog
+client/.libs/lt-mysqlcheck
+client/.libs/lt-mysqldump
+client/.libs/lt-mysqlimport
+client/.libs/lt-mysqlshow
+client/.libs/lt-mysqlslap
+client/.libs/lt-mysqltest
+client/.libs/mysql
+client/.libs/mysql_upgrade
+client/.libs/mysqladmin
+client/.libs/mysqlbinlog
+client/.libs/mysqlcheck
+client/.libs/mysqldump
+client/.libs/mysqlimport
+client/.libs/mysqlshow
+client/.libs/mysqlslap
+client/.libs/mysqltest
+client/completion_hash.cpp
+client/decimal.c
+client/insert_test
+client/link_sources
+client/log_event.cc
+client/log_event.h
+client/log_event_old.cc
+client/log_event_old.h
+client/mf_iocache.c
+client/mf_iocache.cc
+client/my_decimal.cc
+client/my_decimal.h
+client/my_user.c
+client/mysql
+client/mysql.cpp
+client/mysql_upgrade
+client/mysqladmin
+client/mysqladmin.c
+client/mysqladmin.cpp
+client/mysqlbinlog
+client/mysqlbinlog.cpp
+client/mysqlcheck
+client/mysqldump
+client/mysqlimport
+client/mysqlmanager-pwgen
+client/mysqlmanagerc
+client/mysqlshow
+client/mysqlslap
+client/mysqltest
+client/mysqltestmanager-pwgen
+client/mysqltestmanagerc
+client/mysys_priv.h
+client/readline.cpp
+client/rpl_constants.h
+client/rpl_record_old.cc
+client/rpl_record_old.h
+client/rpl_tblmap.h
+client/rpl_tblmap.cc
+client/rpl_utility.h
+client/rpl_utility.cc
+client/select_test
+client/sql_const.h
+client/sql_string.cpp
+client/ssl_test
+client/thimble
+client/thread_test
+client/tmp.diff
+client_debug/*
+client_release/*
+client_test
+cmake_install.cmake
+cmd-line-utils/libedit/.deps/chared.Po
+cmd-line-utils/libedit/.deps/common.Po
+cmd-line-utils/libedit/.deps/el.Po
+cmd-line-utils/libedit/.deps/emacs.Po
+cmd-line-utils/libedit/.deps/fcns.Po
+cmd-line-utils/libedit/.deps/fgetln.Po
+cmd-line-utils/libedit/.deps/help.Po
+cmd-line-utils/libedit/.deps/hist.Po
+cmd-line-utils/libedit/.deps/history.Po
+cmd-line-utils/libedit/.deps/key.Po
+cmd-line-utils/libedit/.deps/map.Po
+cmd-line-utils/libedit/.deps/parse.Po
+cmd-line-utils/libedit/.deps/prompt.Po
+cmd-line-utils/libedit/.deps/read.Po
+cmd-line-utils/libedit/.deps/readline.Po
+cmd-line-utils/libedit/.deps/refresh.Po
+cmd-line-utils/libedit/.deps/search.Po
+cmd-line-utils/libedit/.deps/sig.Po
+cmd-line-utils/libedit/.deps/strlcat.Po
+cmd-line-utils/libedit/.deps/strlcpy.Po
+cmd-line-utils/libedit/.deps/term.Po
+cmd-line-utils/libedit/.deps/tokenizer.Po
+cmd-line-utils/libedit/.deps/tty.Po
+cmd-line-utils/libedit/.deps/unvis.Po
+cmd-line-utils/libedit/.deps/vi.Po
+cmd-line-utils/libedit/.deps/vis.Po
+cmd-line-utils/libedit/common.h
+cmd-line-utils/libedit/makelist
+cmd-line-utils/readline/.deps/bind.Po
+cmd-line-utils/readline/.deps/callback.Po
+cmd-line-utils/readline/.deps/compat.Po
+cmd-line-utils/readline/.deps/complete.Po
+cmd-line-utils/readline/.deps/display.Po
+cmd-line-utils/readline/.deps/funmap.Po
+cmd-line-utils/readline/.deps/histexpand.Po
+cmd-line-utils/readline/.deps/histfile.Po
+cmd-line-utils/readline/.deps/history.Po
+cmd-line-utils/readline/.deps/histsearch.Po
+cmd-line-utils/readline/.deps/input.Po
+cmd-line-utils/readline/.deps/isearch.Po
+cmd-line-utils/readline/.deps/keymaps.Po
+cmd-line-utils/readline/.deps/kill.Po
+cmd-line-utils/readline/.deps/macro.Po
+cmd-line-utils/readline/.deps/mbutil.Po
+cmd-line-utils/readline/.deps/misc.Po
+cmd-line-utils/readline/.deps/nls.Po
+cmd-line-utils/readline/.deps/parens.Po
+cmd-line-utils/readline/.deps/readline.Po
+cmd-line-utils/readline/.deps/rltty.Po
+cmd-line-utils/readline/.deps/savestring.Po
+cmd-line-utils/readline/.deps/search.Po
+cmd-line-utils/readline/.deps/shell.Po
+cmd-line-utils/readline/.deps/signals.Po
+cmd-line-utils/readline/.deps/terminal.Po
+cmd-line-utils/readline/.deps/text.Po
+cmd-line-utils/readline/.deps/tilde.Po
+cmd-line-utils/readline/.deps/undo.Po
+cmd-line-utils/readline/.deps/util.Po
+cmd-line-utils/readline/.deps/vi_mode.Po
+cmd-line-utils/readline/.deps/xmalloc.Po
+comon.h
+comp_err/*.ds?
+comp_err/*.vcproj
+compile
+config.cache
+config.guess
+config.h
+config.h.in
+config.log
+config.status
+config.sub
+configure
+configure.lineno
+contrib/*.ds?
+contrib/*.vcproj
+core
+core.*
+cscope.in.out
+cscope.out
+cscope.po.out
+db-*.*.*
+dbug/*.ds?
+dbug/*.vcproj
+dbug/.deps/dbug.Po
+dbug/.deps/dbug_analyze.Po
+dbug/.deps/factorial.Po
+dbug/.deps/my_main.Po
+dbug/.deps/sanity.Po
+dbug/dbug_analyze
+dbug/example*.r
+dbug/factorial
+dbug/factorial.r
+dbug/main.r
+dbug/output*.r
+dbug/user.ps
+dbug/user.t
+debian/control
+debian/defs.mk
+depcomp
+emacs.h
+examples/*.ds?
+examples/*.vcproj
+examples/udf_example/udf_example.def
+extra/.deps/charset2html.Po
+extra/.deps/comp_err.Po
+extra/.deps/innochecksum.Po
+extra/.deps/my_print_defaults.Po
+extra/.deps/mysql_waitpid.Po
+extra/.deps/perror.Po
+extra/.deps/replace.Po
+extra/.deps/resolve_stack_dump.Po
+extra/.deps/resolveip.Po
+extra/charset2html
+extra/comp_err
+extra/created_include_files
+extra/innochecksum
+extra/my_print_defaults
+extra/mysql_install
+extra/mysql_tzinfo_to_sql
+extra/mysql_waitpid
+extra/mysqld_ername.h
+extra/mysqld_error.h
+extra/perror
+extra/replace
+extra/resolve_stack_dump
+extra/resolveip
+extra/sql_state.h
+extra/tztime.cc
+extra/yassl/src/.deps/buffer.Plo
+extra/yassl/src/.deps/cert_wrapper.Plo
+extra/yassl/src/.deps/crypto_wrapper.Plo
+extra/yassl/src/.deps/handshake.Plo
+extra/yassl/src/.deps/lock.Plo
+extra/yassl/src/.deps/log.Plo
+extra/yassl/src/.deps/socket_wrapper.Plo
+extra/yassl/src/.deps/ssl.Plo
+extra/yassl/src/.deps/template_instnt.Plo
+extra/yassl/src/.deps/timer.Plo
+extra/yassl/src/.deps/yassl_error.Plo
+extra/yassl/src/.deps/yassl_imp.Plo
+extra/yassl/src/.deps/yassl_int.Plo
+extra/yassl/taocrypt/benchmark/.deps/benchmark-benchmark.Po
+extra/yassl/taocrypt/benchmark/benchmark
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-aes.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-aestables.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-algebra.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-arc4.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-asn.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-bftables.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-blowfish.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-coding.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-des.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-dh.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-dsa.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-file.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-hash.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-integer.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-md2.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-md4.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-md5.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-misc.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-random.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-ripemd.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-rsa.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-sha.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-template_instnt.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-tftables.Plo
+extra/yassl/taocrypt/src/.deps/libtaocrypt_la-twofish.Plo
+extra/yassl/taocrypt/test/.deps/test-test.Po
+extra/yassl/taocrypt/test/test
+extra/yassl/testsuite/.deps/testsuite-client.Po
+extra/yassl/testsuite/.deps/testsuite-echoclient.Po
+extra/yassl/testsuite/.deps/testsuite-echoserver.Po
+extra/yassl/testsuite/.deps/testsuite-server.Po
+extra/yassl/testsuite/.deps/testsuite-test.Po
+extra/yassl/testsuite/.deps/testsuite-testsuite.Po
+extra/yassl/testsuite/testsuite
+fcns.c
+fcns.h
+gdbinit
+gmon.out
+hardcopy.0
+heap/*.ds?
+heap/*.vcproj
+heap/hp_test1
+heap/hp_test2
+help
+help.c
+help.h
+include/abi_check
+include/check_abi
+include/link_sources
+include/my_config.h
+include/my_global.h
+include/mysql_h.ic
+include/mysql_version.h
+include/mysqld_ername.h
+include/mysqld_error.h
+include/mysqld_error.h.rule
+include/openssl
+include/probes_mysql_dtrace.h
+include/readline
+include/readline/*.h
+include/readline/readline.h
+include/sql_state.h
+include/widec.h
+innobase/*.ds?
+innobase/*.vcproj
+innobase/autom4te-2.53.cache/*
+innobase/autom4te-2.53.cache/output.0
+innobase/autom4te-2.53.cache/requests
+innobase/autom4te-2.53.cache/traces.0
+innobase/autom4te.cache/*
+innobase/autom4te.cache/output.0
+innobase/autom4te.cache/requests
+innobase/autom4te.cache/traces.0
+innobase/configure.lineno
+innobase/conftest.s1
+innobase/conftest.subs
+innobase/ib_config.h
+innobase/ib_config.h.in
+innobase/mkinstalldirs
+innobase/stamp-h1
+insert_test
+install
+install-sh
+isam/*.ds?
+isam/*.vcproj
+isam/isamchk
+isam/isamlog
+isam/pack_isam
+isam/test1
+isam/test2
+isam/test3
+isamchk/*.ds?
+isamchk/*.vcproj
+item_xmlfunc.cc
+lib_debug/*
+lib_release/*
+libmysql/*.c
+libmysql/*.ds?
+libmysql/*.vcproj
+libmysql/.deps/array.Plo
+libmysql/.deps/bchange.Plo
+libmysql/.deps/bcmp.Plo
+libmysql/.deps/bmove.Plo
+libmysql/.deps/bmove_upp.Plo
+libmysql/.deps/charset-def.Plo
+libmysql/.deps/charset.Plo
+libmysql/.deps/client.Plo
+libmysql/.deps/conf_to_src.Po
+libmysql/.deps/ctype-big5.Plo
+libmysql/.deps/ctype-bin.Plo
+libmysql/.deps/ctype-cp932.Plo
+libmysql/.deps/ctype-czech.Plo
+libmysql/.deps/ctype-euc_kr.Plo
+libmysql/.deps/ctype-eucjpms.Plo
+libmysql/.deps/ctype-extra.Plo
+libmysql/.deps/ctype-gb2312.Plo
+libmysql/.deps/ctype-gbk.Plo
+libmysql/.deps/ctype-latin1.Plo
+libmysql/.deps/ctype-mb.Plo
+libmysql/.deps/ctype-simple.Plo
+libmysql/.deps/ctype-sjis.Plo
+libmysql/.deps/ctype-tis620.Plo
+libmysql/.deps/ctype-uca.Plo
+libmysql/.deps/ctype-ucs2.Plo
+libmysql/.deps/ctype-ujis.Plo
+libmysql/.deps/ctype-utf8.Plo
+libmysql/.deps/ctype-win1250ch.Plo
+libmysql/.deps/ctype.Plo
+libmysql/.deps/dbug.Plo
+libmysql/.deps/default.Plo
+libmysql/.deps/default_modify.Plo
+libmysql/.deps/errmsg.Plo
+libmysql/.deps/errors.Plo
+libmysql/.deps/get_password.Plo
+libmysql/.deps/hash.Plo
+libmysql/.deps/int2str.Plo
+libmysql/.deps/is_prefix.Plo
+libmysql/.deps/libmysql.Plo
+libmysql/.deps/list.Plo
+libmysql/.deps/llstr.Plo
+libmysql/.deps/longlong2str.Plo
+libmysql/.deps/manager.Plo
+libmysql/.deps/md5.Plo
+libmysql/.deps/mf_cache.Plo
+libmysql/.deps/mf_dirname.Plo
+libmysql/.deps/mf_fn_ext.Plo
+libmysql/.deps/mf_format.Plo
+libmysql/.deps/mf_iocache.Plo
+libmysql/.deps/mf_iocache2.Plo
+libmysql/.deps/mf_loadpath.Plo
+libmysql/.deps/mf_pack.Plo
+libmysql/.deps/mf_path.Plo
+libmysql/.deps/mf_tempfile.Plo
+libmysql/.deps/mf_unixpath.Plo
+libmysql/.deps/mf_wcomp.Plo
+libmysql/.deps/mulalloc.Plo
+libmysql/.deps/my_alloc.Plo
+libmysql/.deps/my_chsize.Plo
+libmysql/.deps/my_compress.Plo
+libmysql/.deps/my_create.Plo
+libmysql/.deps/my_delete.Plo
+libmysql/.deps/my_div.Plo
+libmysql/.deps/my_error.Plo
+libmysql/.deps/my_file.Plo
+libmysql/.deps/my_fopen.Plo
+libmysql/.deps/my_fstream.Plo
+libmysql/.deps/my_gethostbyname.Plo
+libmysql/.deps/my_getopt.Plo
+libmysql/.deps/my_getwd.Plo
+libmysql/.deps/my_init.Plo
+libmysql/.deps/my_lib.Plo
+libmysql/.deps/my_malloc.Plo
+libmysql/.deps/my_messnc.Plo
+libmysql/.deps/my_net.Plo
+libmysql/.deps/my_once.Plo
+libmysql/.deps/my_open.Plo
+libmysql/.deps/my_port.Plo
+libmysql/.deps/my_pread.Plo
+libmysql/.deps/my_pthread.Plo
+libmysql/.deps/my_read.Plo
+libmysql/.deps/my_realloc.Plo
+libmysql/.deps/my_rename.Plo
+libmysql/.deps/my_seek.Plo
+libmysql/.deps/my_sleep.Plo
+libmysql/.deps/my_static.Plo
+libmysql/.deps/my_strtoll10.Plo
+libmysql/.deps/my_symlink.Plo
+libmysql/.deps/my_thr_init.Plo
+libmysql/.deps/my_time.Plo
+libmysql/.deps/my_vsnprintf.Plo
+libmysql/.deps/my_write.Plo
+libmysql/.deps/net.Plo
+libmysql/.deps/pack.Plo
+libmysql/.deps/password.Plo
+libmysql/.deps/safemalloc.Plo
+libmysql/.deps/sha1.Plo
+libmysql/.deps/str2int.Plo
+libmysql/.deps/str_alloc.Plo
+libmysql/.deps/strcend.Plo
+libmysql/.deps/strcont.Plo
+libmysql/.deps/strend.Plo
+libmysql/.deps/strfill.Plo
+libmysql/.deps/string.Plo
+libmysql/.deps/strinstr.Plo
+libmysql/.deps/strmake.Plo
+libmysql/.deps/strmov.Plo
+libmysql/.deps/strnlen.Plo
+libmysql/.deps/strnmov.Plo
+libmysql/.deps/strtod.Plo
+libmysql/.deps/strtoll.Plo
+libmysql/.deps/strtoull.Plo
+libmysql/.deps/strxmov.Plo
+libmysql/.deps/strxnmov.Plo
+libmysql/.deps/thr_mutex.Plo
+libmysql/.deps/typelib.Plo
+libmysql/.deps/vio.Plo
+libmysql/.deps/viosocket.Plo
+libmysql/.deps/viossl.Plo
+libmysql/.deps/viosslfactories.Plo
+libmysql/.deps/xml.Plo
+libmysql/.libs/libmysqlclient.lai
+libmysql/.libs/libmysqlclient.so.15
+libmysql/.libs/libmysqlclient.so.15.0.0
+libmysql/conf_to_src
+libmysql/debug/libmysql.exp
+libmysql/libmysql.ver
+libmysql/link_sources
+libmysql/my_static.h
+libmysql/my_time.c
+libmysql/mysys_priv.h
+libmysql/net.c
+libmysql/release/libmysql.exp
+libmysql/vio_priv.h
+libmysql/viosocket.o.6WmSJk
+libmysql_r/*.c
+libmysql_r/.deps/array.Plo
+libmysql_r/.deps/bchange.Plo
+libmysql_r/.deps/bcmp.Plo
+libmysql_r/.deps/bmove.Plo
+libmysql_r/.deps/bmove_upp.Plo
+libmysql_r/.deps/charset-def.Plo
+libmysql_r/.deps/charset.Plo
+libmysql_r/.deps/client.Plo
+libmysql_r/.deps/conf_to_src.Po
+libmysql_r/.deps/ctype-big5.Plo
+libmysql_r/.deps/ctype-bin.Plo
+libmysql_r/.deps/ctype-cp932.Plo
+libmysql_r/.deps/ctype-czech.Plo
+libmysql_r/.deps/ctype-euc_kr.Plo
+libmysql_r/.deps/ctype-eucjpms.Plo
+libmysql_r/.deps/ctype-extra.Plo
+libmysql_r/.deps/ctype-gb2312.Plo
+libmysql_r/.deps/ctype-gbk.Plo
+libmysql_r/.deps/ctype-latin1.Plo
+libmysql_r/.deps/ctype-mb.Plo
+libmysql_r/.deps/ctype-simple.Plo
+libmysql_r/.deps/ctype-sjis.Plo
+libmysql_r/.deps/ctype-tis620.Plo
+libmysql_r/.deps/ctype-uca.Plo
+libmysql_r/.deps/ctype-ucs2.Plo
+libmysql_r/.deps/ctype-ujis.Plo
+libmysql_r/.deps/ctype-utf8.Plo
+libmysql_r/.deps/ctype-win1250ch.Plo
+libmysql_r/.deps/ctype.Plo
+libmysql_r/.deps/dbug.Plo
+libmysql_r/.deps/default.Plo
+libmysql_r/.deps/default_modify.Plo
+libmysql_r/.deps/errmsg.Plo
+libmysql_r/.deps/errors.Plo
+libmysql_r/.deps/get_password.Plo
+libmysql_r/.deps/hash.Plo
+libmysql_r/.deps/int2str.Plo
+libmysql_r/.deps/is_prefix.Plo
+libmysql_r/.deps/libmysql.Plo
+libmysql_r/.deps/list.Plo
+libmysql_r/.deps/llstr.Plo
+libmysql_r/.deps/longlong2str.Plo
+libmysql_r/.deps/manager.Plo
+libmysql_r/.deps/md5.Plo
+libmysql_r/.deps/mf_cache.Plo
+libmysql_r/.deps/mf_dirname.Plo
+libmysql_r/.deps/mf_fn_ext.Plo
+libmysql_r/.deps/mf_format.Plo
+libmysql_r/.deps/mf_iocache.Plo
+libmysql_r/.deps/mf_iocache2.Plo
+libmysql_r/.deps/mf_loadpath.Plo
+libmysql_r/.deps/mf_pack.Plo
+libmysql_r/.deps/mf_path.Plo
+libmysql_r/.deps/mf_tempfile.Plo
+libmysql_r/.deps/mf_unixpath.Plo
+libmysql_r/.deps/mf_wcomp.Plo
+libmysql_r/.deps/mulalloc.Plo
+libmysql_r/.deps/my_alloc.Plo
+libmysql_r/.deps/my_chsize.Plo
+libmysql_r/.deps/my_compress.Plo
+libmysql_r/.deps/my_create.Plo
+libmysql_r/.deps/my_delete.Plo
+libmysql_r/.deps/my_div.Plo
+libmysql_r/.deps/my_error.Plo
+libmysql_r/.deps/my_file.Plo
+libmysql_r/.deps/my_fopen.Plo
+libmysql_r/.deps/my_fstream.Plo
+libmysql_r/.deps/my_gethostbyname.Plo
+libmysql_r/.deps/my_getopt.Plo
+libmysql_r/.deps/my_getwd.Plo
+libmysql_r/.deps/my_init.Plo
+libmysql_r/.deps/my_lib.Plo
+libmysql_r/.deps/my_malloc.Plo
+libmysql_r/.deps/my_messnc.Plo
+libmysql_r/.deps/my_net.Plo
+libmysql_r/.deps/my_once.Plo
+libmysql_r/.deps/my_open.Plo
+libmysql_r/.deps/my_port.Plo
+libmysql_r/.deps/my_pread.Plo
+libmysql_r/.deps/my_pthread.Plo
+libmysql_r/.deps/my_read.Plo
+libmysql_r/.deps/my_realloc.Plo
+libmysql_r/.deps/my_rename.Plo
+libmysql_r/.deps/my_seek.Plo
+libmysql_r/.deps/my_sleep.Plo
+libmysql_r/.deps/my_static.Plo
+libmysql_r/.deps/my_strtoll10.Plo
+libmysql_r/.deps/my_symlink.Plo
+libmysql_r/.deps/my_thr_init.Plo
+libmysql_r/.deps/my_time.Plo
+libmysql_r/.deps/my_vsnprintf.Plo
+libmysql_r/.deps/my_write.Plo
+libmysql_r/.deps/net.Plo
+libmysql_r/.deps/pack.Plo
+libmysql_r/.deps/password.Plo
+libmysql_r/.deps/safemalloc.Plo
+libmysql_r/.deps/sha1.Plo
+libmysql_r/.deps/str2int.Plo
+libmysql_r/.deps/str_alloc.Plo
+libmysql_r/.deps/strcend.Plo
+libmysql_r/.deps/strcont.Plo
+libmysql_r/.deps/strend.Plo
+libmysql_r/.deps/strfill.Plo
+libmysql_r/.deps/string.Plo
+libmysql_r/.deps/strinstr.Plo
+libmysql_r/.deps/strmake.Plo
+libmysql_r/.deps/strmov.Plo
+libmysql_r/.deps/strnlen.Plo
+libmysql_r/.deps/strnmov.Plo
+libmysql_r/.deps/strtod.Plo
+libmysql_r/.deps/strtoll.Plo
+libmysql_r/.deps/strtoull.Plo
+libmysql_r/.deps/strxmov.Plo
+libmysql_r/.deps/strxnmov.Plo
+libmysql_r/.deps/thr_mutex.Plo
+libmysql_r/.deps/typelib.Plo
+libmysql_r/.deps/vio.Plo
+libmysql_r/.deps/viosocket.Plo
+libmysql_r/.deps/viossl.Plo
+libmysql_r/.deps/viosslfactories.Plo
+libmysql_r/.deps/xml.Plo
+libmysql_r/.libs/libmysqlclient_r.lai
+libmysql_r/.libs/libmysqlclient_r.so.15
+libmysql_r/.libs/libmysqlclient_r.so.15.0.0
+libmysql_r/acconfig.h
+libmysql_r/client_settings.h
+libmysql_r/conf_to_src
+libmysql_r/link_sources
+libmysql_r/my_static.h
+libmysql_r/mysys_priv.h
+libmysql_r/vio_priv.h
+libmysqld/*.ds?
+libmysqld/*.vcproj
+libmysqld/.deps/client.Po
+libmysqld/.deps/derror.Po
+libmysqld/.deps/discover.Po
+libmysqld/.deps/emb_qcache.Po
+libmysqld/.deps/errmsg.Po
+libmysqld/.deps/event_data_objects.Po
+libmysqld/.deps/event_db_repository.Po
+libmysqld/.deps/event_queue.Po
+libmysqld/.deps/event_scheduler.Po
+libmysqld/.deps/events.Po
+libmysqld/.deps/field.Po
+libmysqld/.deps/field_conv.Po
+libmysqld/.deps/filesort.Po
+libmysqld/.deps/get_password.Po
+libmysqld/.deps/gstream.Po
+libmysqld/.deps/ha_berkeley.Po
+libmysqld/.deps/ha_federated.Po
+libmysqld/.deps/ha_heap.Po
+libmysqld/.deps/ha_innodb.Po
+libmysqld/.deps/ha_myisam.Po
+libmysqld/.deps/ha_myisammrg.Po
+libmysqld/.deps/ha_ndbcluster.Po
+libmysqld/.deps/ha_ndbcluster_binlog.Po
+libmysqld/.deps/ha_partition.Po
+libmysqld/.deps/handler.Po
+libmysqld/.deps/hash_filo.Po
+libmysqld/.deps/hostname.Po
+libmysqld/.deps/init.Po
+libmysqld/.deps/item.Po
+libmysqld/.deps/item_buff.Po
+libmysqld/.deps/item_cmpfunc.Po
+libmysqld/.deps/item_create.Po
+libmysqld/.deps/item_func.Po
+libmysqld/.deps/item_geofunc.Po
+libmysqld/.deps/item_row.Po
+libmysqld/.deps/item_strfunc.Po
+libmysqld/.deps/item_subselect.Po
+libmysqld/.deps/item_sum.Po
+libmysqld/.deps/item_timefunc.Po
+libmysqld/.deps/item_uniq.Po
+libmysqld/.deps/item_xmlfunc.Po
+libmysqld/.deps/key.Po
+libmysqld/.deps/lib_sql.Po
+libmysqld/.deps/libmysql.Po
+libmysqld/.deps/libmysqld.Po
+libmysqld/.deps/lock.Po
+libmysqld/.deps/log.Po
+libmysqld/.deps/log_event.Po
+libmysqld/.deps/my_decimal.Po
+libmysqld/.deps/my_time.Po
+libmysqld/.deps/my_user.Po
+libmysqld/.deps/net_serv.Po
+libmysqld/.deps/opt_range.Po
+libmysqld/.deps/opt_sum.Po
+libmysqld/.deps/pack.Po
+libmysqld/.deps/parse_file.Po
+libmysqld/.deps/partition_info.Po
+libmysqld/.deps/password.Po
+libmysqld/.deps/procedure.Po
+libmysqld/.deps/protocol.Po
+libmysqld/.deps/records.Po
+libmysqld/.deps/rpl_filter.Po
+libmysqld/.deps/rpl_injector.Po
+libmysqld/.deps/set_var.Po
+libmysqld/.deps/sp.Po
+libmysqld/.deps/sp_cache.Po
+libmysqld/.deps/sp_head.Po
+libmysqld/.deps/sp_pcontext.Po
+libmysqld/.deps/sp_rcontext.Po
+libmysqld/.deps/spatial.Po
+libmysqld/.deps/sql_acl.Po
+libmysqld/.deps/sql_analyse.Po
+libmysqld/.deps/sql_base.Po
+libmysqld/.deps/sql_builtin.Po
+libmysqld/.deps/sql_cache.Po
+libmysqld/.deps/sql_class.Po
+libmysqld/.deps/sql_crypt.Po
+libmysqld/.deps/sql_cursor.Po
+libmysqld/.deps/sql_db.Po
+libmysqld/.deps/sql_delete.Po
+libmysqld/.deps/sql_truncate.Po
+libmysqld/.deps/sql_reload.Po
+libmysqld/.deps/datadict.Po
+libmysqld/.deps/sql_derived.Po
+libmysqld/.deps/sql_do.Po
+libmysqld/.deps/sql_error.Po
+libmysqld/.deps/sql_handler.Po
+libmysqld/.deps/sql_help.Po
+libmysqld/.deps/sql_insert.Po
+libmysqld/.deps/sql_lex.Po
+libmysqld/.deps/sql_list.Po
+libmysqld/.deps/sql_load.Po
+libmysqld/.deps/sql_manager.Po
+libmysqld/.deps/sql_map.Po
+libmysqld/.deps/sql_parse.Po
+libmysqld/.deps/sql_partition.Po
+libmysqld/.deps/sql_plugin.Po
+libmysqld/.deps/sql_prepare.Po
+libmysqld/.deps/sql_rename.Po
+libmysqld/.deps/sql_select.Po
+libmysqld/.deps/sql_show.Po
+libmysqld/.deps/sql_state.Po
+libmysqld/.deps/sql_string.Po
+libmysqld/.deps/sql_table.Po
+libmysqld/.deps/sql_tablespace.Po
+libmysqld/.deps/sql_test.Po
+libmysqld/.deps/sql_trigger.Po
+libmysqld/.deps/sql_udf.Po
+libmysqld/.deps/sql_union.Po
+libmysqld/.deps/sql_update.Po
+libmysqld/.deps/sql_view.Po
+libmysqld/.deps/sql_yacc.Po
+libmysqld/.deps/stacktrace.Po
+libmysqld/.deps/strfunc.Po
+libmysqld/.deps/table.Po
+libmysqld/.deps/thr_malloc.Po
+libmysqld/.deps/time.Po
+libmysqld/.deps/tztime.Po
+libmysqld/.deps/uniques.Po
+libmysqld/.deps/unireg.Po
+libmysqld/backup_dir
+libmysqld/client.c
+libmysqld/client_settings.h
+libmysqld/cmake_dummy.c
+libmysqld/convert.cc
+libmysqld/derror.cc
+libmysqld/discover.cc
+libmysqld/emb_qcache.cpp
+libmysqld/errmsg.c
+libmysqld/event.cc
+libmysqld/event_data_objects.cc
+libmysqld/event_db_repository.cc
+libmysqld/event_executor.cc
+libmysqld/event_queue.cc
+libmysqld/event_scheduler.cc
+libmysqld/event_timed.cc
+libmysqld/events.cc
+libmysqld/examples/.deps/completion_hash.Po
+libmysqld/examples/.deps/mysql.Po
+libmysqld/examples/.deps/mysql_client_test.Po
+libmysqld/examples/.deps/mysqltest.Po
+libmysqld/examples/.deps/readline.Po
+libmysqld/examples/client_test.c
+libmysqld/examples/client_test.cc
+libmysqld/examples/completion_hash.cc
+libmysqld/examples/completion_hash.h
+libmysqld/examples/link_sources
+libmysqld/examples/my_readline.h
+libmysqld/examples/mysql
+libmysqld/examples/mysql.cc
+libmysqld/examples/mysql_client_test.c
+libmysqld/examples/mysql_client_test_embedded
+libmysqld/examples/mysqltest
+libmysqld/examples/mysqltest.c
+libmysqld/examples/mysqltest_embedded
+libmysqld/examples/readline.cc
+libmysqld/examples/sql_string.cc
+libmysqld/examples/sql_string.h
+libmysqld/examples/test-gdbinit
+libmysqld/field.cc
+libmysqld/field_conv.cc
+libmysqld/filesort.cc
+libmysqld/get_password.c
+libmysqld/gstream.cc
+libmysqld/ha_archive.cc
+libmysqld/ha_berkeley.cc
+libmysqld/ha_blackhole.cc
+libmysqld/ha_example.cc
+libmysqld/ha_federated.cc
+libmysqld/ha_heap.cc
+libmysqld/ha_innobase.cc
+libmysqld/ha_innodb.cc
+libmysqld/ha_isam.cc
+libmysqld/ha_isammrg.cc
+libmysqld/ha_myisam.cc
+libmysqld/ha_myisammrg.cc
+libmysqld/ha_ndbcluster.cc
+libmysqld/ha_ndbcluster_binlog.cc
+libmysqld/ha_ndbcluster_cond.cc
+libmysqld/ha_partition.cc
+libmysqld/ha_tina.cc
+libmysqld/handler.cc
+libmysqld/handlerton.cc
+libmysqld/hash_filo.cc
+libmysqld/hostname.cc
+libmysqld/init.cc
+libmysqld/item.cc
+libmysqld/item_buff.cc
+libmysqld/item_cmpfunc.cc
+libmysqld/item_create.cc
+libmysqld/item_func.cc
+libmysqld/item_geofunc.cc
+libmysqld/item_row.cc
+libmysqld/item_strfunc.cc
+libmysqld/item_subselect.cc
+libmysqld/item_sum.cc
+libmysqld/item_timefunc.cc
+libmysqld/item_uniq.cc
+libmysqld/key.cc
+libmysqld/lex_hash.h
+libmysqld/lib_sql.cpp
+libmysqld/libmysql.c
+libmysqld/link_sources
+libmysqld/lock.cc
+libmysqld/log.cc
+libmysqld/log_event.cc
+libmysqld/log_event_old.cc
+libmysqld/md5.c
+libmysqld/message.h
+libmysqld/message.rc
+libmysqld/mf_iocache.cc
+libmysqld/mini_client.cc
+libmysqld/my_decimal.cc
+libmysqld/my_time.c
+libmysqld/my_user.c
+libmysqld/net_pkg.cc
+libmysqld/net_serv.cc
+libmysqld/opt_ft.cc
+libmysqld/opt_range.cc
+libmysqld/opt_sum.cc
+libmysqld/pack.c
+libmysqld/parse_file.cc
+libmysqld/partition_info.cc
+libmysqld/password.c
+libmysqld/procedure.cc
+libmysqld/protocol.cc
+libmysqld/protocol_cursor.cc
+libmysqld/records.cc
+libmysqld/repl_failsafe.cc
+libmysqld/rpl_filter.cc
+libmysqld/rpl_handler.cc
+libmysqld/rpl_injector.cc
+libmysqld/rpl_record.cc
+libmysqld/rpl_record_old.cc
+libmysqld/rpl_utility.cc
+libmysqld/scheduler.cc
+libmysqld/set_var.cc
+libmysqld/sha2.cc
+libmysqld/simple-test
+libmysqld/slave.cc
+libmysqld/sp.cc
+libmysqld/sp_cache.cc
+libmysqld/sp_head.cc
+libmysqld/sp_pcontext.cc
+libmysqld/sp_rcontext.cc
+libmysqld/spatial.cc
+libmysqld/sql_acl.cc
+libmysqld/sql_analyse.cc
+libmysqld/sql_base.cc
+libmysqld/sql_builtin.cc
+libmysqld/sql_cache.cc
+libmysqld/sql_class.cc
+libmysqld/sql_command
+libmysqld/sql_connect.cc
+libmysqld/sql_crypt.cc
+libmysqld/sql_cursor.cc
+libmysqld/sql_cursor.h
+libmysqld/sql_db.cc
+libmysqld/sql_delete.cc
+libmysqld/sql_truncate.cc
+libmysqld/sql_reload.cc
+libmysqld/datadict.cc
+libmysqld/sql_derived.cc
+libmysqld/sql_do.cc
+libmysqld/sql_error.cc
+libmysqld/sql_handler.cc
+libmysqld/sql_help.cc
+libmysqld/sql_insert.cc
+libmysqld/sql_lex.cc
+libmysqld/sql_list.cc
+libmysqld/sql_load.cc
+libmysqld/sql_locale.cc
+libmysqld/sql_manager.cc
+libmysqld/sql_map.cc
+libmysqld/sql_olap.cc
+libmysqld/sql_parse.cc
+libmysqld/sql_partition.cc
+libmysqld/sql_plugin.cc
+libmysqld/sql_prepare.cc
+libmysqld/sql_profile.cc
+libmysqld/sql_rename.cc
+libmysqld/sql_repl.cc
+libmysqld/sql_select.cc
+libmysqld/sql_servers.cc
+libmysqld/sql_show.cc
+libmysqld/sql_state.c
+libmysqld/sql_string.cc
+libmysqld/sql_table.cc
+libmysqld/sql_tablespace.cc
+libmysqld/sql_test.cc
+libmysqld/sql_trigger.cc
+libmysqld/sql_udf.cc
+libmysqld/sql_union.cc
+libmysqld/sql_unions.cc
+libmysqld/sql_update.cc
+libmysqld/sql_view.cc
+libmysqld/sql_yacc.cc
+libmysqld/sql_yacc.cpp
+libmysqld/sql_yacc.h
+libmysqld/stacktrace.c
+libmysqld/strfunc.cc
+libmysqld/table.cc
+libmysqld/thr_malloc.cc
+libmysqld/sql_time.cc
+libmysqld/tztime.cc
+libmysqld/uniques.cc
+libmysqld/unireg.cc
+libmysqltest/*.ds?
+libmysqltest/*.vcproj
+libmysqltest/mytest.c
+libtool
+linked_client_sources
+linked_include_sources
+linked_libmysql_r_sources
+linked_libmysql_sources
+linked_libmysqld_sources
+linked_libmysqldex_sources
+linked_server_sources
+linked_tools_sources
+locked
+ltmain.sh
+man/*.1
+merge/*.ds?
+merge/*.vcproj
+missing
+mit-pthreads/config.flags
+mit-pthreads/include/bits
+mit-pthreads/include/pthread/machdep.h
+mit-pthreads/include/pthread/posix.h
+mit-pthreads/include/sys
+mit-pthreads/machdep.c
+mit-pthreads/pg++
+mit-pthreads/pgcc
+mit-pthreads/syscall.S
+mkinstalldirs
+my_print_defaults/*.ds?
+my_print_defaults/*.vcproj
+myisam/*.ds?
+myisam/*.vcproj
+myisam/FT1.MYD
+myisam/FT1.MYI
+myisam/ft_dump
+myisam/ft_eval
+myisam/ft_test1
+myisam/ftbench/data
+myisam/ftbench/t
+myisam/ftbench/var/*
+myisam/mi_test1
+myisam/mi_test2
+myisam/mi_test3
+myisam/mi_test_all
+myisam/myisam.log
+myisam/myisam_ftdump
+myisam/myisamchk
+myisam/myisamlog
+myisam/myisampack
+myisam/rt_test
+myisam/rt_test.MYD
+myisam/rt_test.MYI
+myisam/sp_test
+myisam/test1.MYD
+myisam/test1.MYI
+myisam/test2.MYD
+myisam/test2.MYI
+myisam_ftdump/*.ds?
+myisam_ftdump/*.vcproj
+myisamchk/*.ds?
+myisamchk/*.vcproj
+myisamlog/*.ds?
+myisamlog/*.vcproj
+myisammrg/*.ds?
+myisammrg/*.vcproj
+myisampack/*.ds?
+myisampack/*.vcproj
+mysql-4.0.2-alpha-pc-linux-gnu-i686.tar.gz
+mysql-4.0.2-alpha.tar.gz
+mysql-4.1.8-win-src.zip
+mysql-5.0.2-alpha.tar.gz
+mysql-max-4.0.2-alpha-pc-linux-gnu-i686.tar.gz
+mysql-test/*.ds?
+mysql-test/*.vcproj
+mysql-test/.DS_Store
+mysql-test/collections/default.release
+mysql-test/collections/default.release.done
+mysql-test/funcs_1.log
+mysql-test/funcs_1.tar
+mysql-test/gmon.out
+mysql-test/install_test_db
+mysql-test/lib/My/SafeProcess/my_safe_process
+mysql-test/lib/init_db.sql
+mysql-test/linux_sys_vars.inc
+mysql-test/load_sysvars.inc
+mysql-test/mtr
+mysql-test/mysql-test-run
+mysql-test/mysql-test-gcov.err
+mysql-test/mysql-test-gcov.msg
+mysql-test/mysql-test-run-shell
+mysql-test/mysql-test-run.log
+mysql-test/mysql_test_run_new
+mysql-test/ndb/ndbcluster
+mysql-test/partitions.log
+mysql-test/r/*.err
+mysql-test/r/*.log
+mysql-test/r/*.out
+mysql-test/r/*.reject
+mysql-test/r/index_merge_load.result
+mysql-test/r/max_allowed_packet_func.result
+mysql-test/r/rpl000001.eval
+mysql-test/r/rpl000002.eval
+mysql-test/r/rpl000014.eval
+mysql-test/r/rpl000015.eval
+mysql-test/r/rpl000016.eval
+mysql-test/r/rpl_log.eval
+mysql-test/r/slave-running.eval
+mysql-test/r/slave-stopped.eval
+mysql-test/r/tmp.result
+mysql-test/reg.log
+mysql-test/rpl.log
+mysql-test/share/mysql
+mysql-test/std_data/*.pem
+mysql-test/suite/funcs_1.tar.gz
+mysql-test/suite/funcs_1.tar.zip
+mysql-test/suite/funcs_1/r/innodb_trig_03e.warnings
+mysql-test/suite/funcs_1/r/innodb_views.warnings
+mysql-test/suite/funcs_1/r/memory_trig_03e.warnings
+mysql-test/suite/funcs_1/r/memory_views.warnings
+mysql-test/suite/funcs_1/r/myisam_trig_03e.warnings
+mysql-test/suite/funcs_1/r/myisam_views.warnings
+mysql-test/suite/funcs_1/r/ndb_trig_03e.warnings
+mysql-test/suite/funcs_1/r/ndb_views.warnings
+mysql-test/suite/partitions/r/dif
+mysql-test/suite/partitions/r/diff
+mysql-test/suite/partitions/r/partition.result
+mysql-test/suite/partitions/r/partition_bit_ndb.warnings
+mysql-test/suite/partitions/r/partition_special_innodb.warnings
+mysql-test/suite/partitions/r/partition_special_myisam.warnings
+mysql-test/suite/partitions/r/partition_t55.out
+mysql-test/suite/partitions/r/partition_t55.refout
+mysql-test/suite/partitions/t/partition.test
+mysql-test/t/index_merge.load
+mysql-test/t/tmp.test
+mysql-test/var
+mysql-test/var/*
+mysql-test/windows_sys_vars.inc
+mysql.kdevprj
+mysql.proj
+sql_priv.h
+mysqlbinlog/*.ds?
+mysqlbinlog/*.vcproj
+mysqlcheck/*.ds?
+mysqlcheck/*.vcproj
+mysqld.S
+mysqld.sym
+mysqldemb/*.ds?
+mysqldemb/*.vcproj
+mysqlserver/*.ds?
+mysqlserver/*.vcproj
+mysys/#mf_iocache.c#
+mysys/*.ds?
+mysys/*.vcproj
+mysys/.deps/array.Po
+mysys/.deps/base64.Po
+mysys/.deps/charset-def.Po
+mysys/.deps/charset.Po
+mysys/.deps/checksum.Po
+mysys/.deps/default.Po
+mysys/.deps/default_modify.Po
+mysys/.deps/errors.Po
+mysys/.deps/hash.Po
+mysys/.deps/list.Po
+mysys/.deps/md5.Po
+mysys/.deps/mf_brkhant.Po
+mysys/.deps/mf_cache.Po
+mysys/.deps/mf_dirname.Po
+mysys/.deps/mf_fn_ext.Po
+mysys/.deps/mf_format.Po
+mysys/.deps/mf_getdate.Po
+mysys/.deps/mf_iocache.Po
+mysys/.deps/mf_iocache2.Po
+mysys/.deps/mf_keycache.Po
+mysys/.deps/mf_keycaches.Po
+mysys/.deps/mf_loadpath.Po
+mysys/.deps/mf_pack.Po
+mysys/.deps/mf_path.Po
+mysys/.deps/mf_qsort.Po
+mysys/.deps/mf_qsort2.Po
+mysys/.deps/mf_radix.Po
+mysys/.deps/mf_same.Po
+mysys/.deps/mf_sort.Po
+mysys/.deps/mf_strip.Po
+mysys/.deps/mf_tempdir.Po
+mysys/.deps/mf_tempfile.Po
+mysys/.deps/mf_unixpath.Po
+mysys/.deps/mf_wcomp.Po
+mysys/.deps/mf_wfile.Po
+mysys/.deps/mulalloc.Po
+mysys/.deps/my_access.Po
+mysys/.deps/my_aes.Po
+mysys/.deps/my_alarm.Po
+mysys/.deps/my_alloc.Po
+mysys/.deps/my_append.Po
+mysys/.deps/my_atomic.Po
+mysys/.deps/my_bit.Po
+mysys/.deps/my_bitmap.Po
+mysys/.deps/my_chsize.Po
+mysys/.deps/my_clock.Po
+mysys/.deps/my_compress.Po
+mysys/.deps/my_copy.Po
+mysys/.deps/my_crc32.Po
+mysys/.deps/my_create.Po
+mysys/.deps/my_delete.Po
+mysys/.deps/my_div.Po
+mysys/.deps/my_dup.Po
+mysys/.deps/my_error.Po
+mysys/.deps/my_file.Po
+mysys/.deps/my_fopen.Po
+mysys/.deps/my_fstream.Po
+mysys/.deps/my_gethostbyname.Po
+mysys/.deps/my_gethwaddr.Po
+mysys/.deps/my_getncpus.Po
+mysys/.deps/my_getopt.Po
+mysys/.deps/my_getsystime.Po
+mysys/.deps/my_getwd.Po
+mysys/.deps/my_handler.Po
+mysys/.deps/my_init.Po
+mysys/.deps/my_largepage.Po
+mysys/.deps/my_lib.Po
+mysys/.deps/my_libwrap.Po
+mysys/.deps/my_lock.Po
+mysys/.deps/my_lockmem.Po
+mysys/.deps/my_lread.Po
+mysys/.deps/my_lwrite.Po
+mysys/.deps/my_malloc.Po
+mysys/.deps/my_memmem.Po
+mysys/.deps/my_messnc.Po
+mysys/.deps/my_mkdir.Po
+mysys/.deps/my_mmap.Po
+mysys/.deps/my_net.Po
+mysys/.deps/my_netware.Po
+mysys/.deps/my_new.Po
+mysys/.deps/my_once.Po
+mysys/.deps/my_open.Po
+mysys/.deps/my_port.Po
+mysys/.deps/my_pread.Po
+mysys/.deps/my_pthread.Po
+mysys/.deps/my_quick.Po
+mysys/.deps/my_read.Po
+mysys/.deps/my_realloc.Po
+mysys/.deps/my_redel.Po
+mysys/.deps/my_rename.Po
+mysys/.deps/my_seek.Po
+mysys/.deps/my_semaphore.Po
+mysys/.deps/my_sleep.Po
+mysys/.deps/my_static.Po
+mysys/.deps/my_symlink.Po
+mysys/.deps/my_symlink2.Po
+mysys/.deps/my_sync.Po
+mysys/.deps/my_thr_init.Po
+mysys/.deps/my_vle.Po
+mysys/.deps/my_windac.Po
+mysys/.deps/my_write.Po
+mysys/.deps/ptr_cmp.Po
+mysys/.deps/queues.Po
+mysys/.deps/rijndael.Po
+mysys/.deps/safemalloc.Po
+mysys/.deps/sha1.Po
+mysys/.deps/string.Po
+mysys/.deps/thr_alarm.Po
+mysys/.deps/thr_lock.Po
+mysys/.deps/thr_mutex.Po
+mysys/.deps/thr_rwlock.Po
+mysys/.deps/tree.Po
+mysys/.deps/trie.Po
+mysys/.deps/typelib.Po
+mysys/charset2html
+mysys/getopt.c
+mysys/getopt1.c
+mysys/main.cc
+mysys/my_new.cpp
+mysys/raid.cpp
+mysys/ste5KbMa
+mysys/test_atomic
+mysys/test_bitmap
+mysys/test_charset
+mysys/test_dir
+mysys/test_gethwaddr
+mysys/test_io_cache
+mysys/test_thr_alarm
+mysys/test_thr_lock
+mysys/test_vsnprintf
+mysys/testhash
+ndb/bin/DbAsyncGenerator
+ndb/bin/DbCreate
+ndb/bin/acid
+ndb/bin/async-lmc-bench-l-p10.sh
+ndb/bin/async-lmc-bench-l.sh
+ndb/bin/async-lmc-bench-p10.sh
+ndb/bin/async-lmc-bench.sh
+ndb/bin/atrt
+ndb/bin/atrt-analyze-result.sh
+ndb/bin/atrt-clear-result.sh
+ndb/bin/atrt-gather-result.sh
+ndb/bin/atrt-setup.sh
+ndb/bin/bankCreator
+ndb/bin/bankMakeGL
+ndb/bin/bankSumAccounts
+ndb/bin/bankTimer
+ndb/bin/bankTransactionMaker
+ndb/bin/bankValidateAllGLs
+ndb/bin/basicTransporterTest
+ndb/bin/benchronja
+ndb/bin/bulk_copy
+ndb/bin/copy_tab
+ndb/bin/create_all_tabs
+ndb/bin/create_index
+ndb/bin/create_tab
+ndb/bin/delete_all
+ndb/bin/desc
+ndb/bin/drop_all_tabs
+ndb/bin/drop_index
+ndb/bin/drop_tab
+ndb/bin/flexAsynch
+ndb/bin/flexBench
+ndb/bin/flexHammer
+ndb/bin/flexScan
+ndb/bin/flexTT
+ndb/bin/hugoCalculator
+ndb/bin/hugoFill
+ndb/bin/hugoLoad
+ndb/bin/hugoLockRecords
+ndb/bin/hugoPkDelete
+ndb/bin/hugoPkRead
+ndb/bin/hugoPkReadRecord
+ndb/bin/hugoPkUpdate
+ndb/bin/hugoScanRead
+ndb/bin/hugoScanUpdate
+ndb/bin/index
+ndb/bin/index2
+ndb/bin/initronja
+ndb/bin/interpreterInTup
+ndb/bin/list_tables
+ndb/bin/make-config.sh
+ndb/bin/mgmtclient
+ndb/bin/mgmtsrvr
+ndb/bin/mkconfig
+ndb/bin/ndb
+ndb/bin/ndb_cpcc
+ndb/bin/ndb_cpcd
+ndb/bin/ndb_rep
+ndb/bin/ndbsql
+ndb/bin/newton_basic
+ndb/bin/newton_br
+ndb/bin/newton_pb
+ndb/bin/newton_perf
+ndb/bin/perfTransporterTest
+ndb/bin/printConfig
+ndb/bin/printSchemafile
+ndb/bin/printSysfile
+ndb/bin/redoLogFileReader
+ndb/bin/restart
+ndb/bin/restarter
+ndb/bin/restarter2
+ndb/bin/restarts
+ndb/bin/restore
+ndb/bin/select_all
+ndb/bin/select_count
+ndb/bin/telco
+ndb/bin/testBackup
+ndb/bin/testBank
+ndb/bin/testBasic
+ndb/bin/testBasicAsynch
+ndb/bin/testCopy
+ndb/bin/testDataBuffers
+ndb/bin/testDict
+ndb/bin/testGrep
+ndb/bin/testGrepVerify
+ndb/bin/testIndex
+ndb/bin/testInterpreter
+ndb/bin/testKernelDataBuffer
+ndb/bin/testLongSig
+ndb/bin/testMgm
+ndb/bin/testMgmapi
+ndb/bin/testNdbApi
+ndb/bin/testNodeRestart
+ndb/bin/testOIBasic
+ndb/bin/testOdbcDriver
+ndb/bin/testOperations
+ndb/bin/testRestartGci
+ndb/bin/testScan
+ndb/bin/testScanInterpreter
+ndb/bin/testSimplePropertiesSection
+ndb/bin/testSystemRestart
+ndb/bin/testTimeout
+ndb/bin/testTransactions
+ndb/bin/test_cpcd
+ndb/bin/test_event
+ndb/bin/verify_index
+ndb/bin/waiter
+ndb/config/autom4te.cache/*
+ndb/config/config.mk
+ndb/examples/ndbapi_example1/ndbapi_example1
+ndb/examples/ndbapi_example2/ndbapi_example2
+ndb/examples/ndbapi_example3/ndbapi_example3
+ndb/examples/ndbapi_example5/ndbapi_example5
+ndb/examples/select_all/select_all
+ndb/include/ndb_global.h
+ndb/include/ndb_types.h
+ndb/include/ndb_version.h
+ndb/lib/libMGM_API.so
+ndb/lib/libNDB_API.so
+ndb/lib/libNDB_ODBC.so
+ndb/lib/libNEWTON_API.so
+ndb/lib/libNEWTON_BASICTEST_COMMON.so
+ndb/lib/libREP_API.so
+ndb/lib/libndbclient.so
+ndb/lib/libndbclient_extra.so
+ndb/src/common/debugger/libtrace.dsp
+ndb/src/common/debugger/signaldata/libsignaldataprint.dsp
+ndb/src/common/logger/liblogger.dsp
+ndb/src/common/mgmcommon/libmgmsrvcommon.dsp
+ndb/src/common/mgmcommon/printConfig/*.d
+ndb/src/common/portlib/libportlib.dsp
+ndb/src/common/transporter/libtransporter.dsp
+ndb/src/common/util/libgeneral.dsp
+ndb/src/common/util/testBitmask.cpp
+ndb/src/cw/cpcd/ndb_cpcd
+ndb/src/dummy.cpp
+ndb/src/kernel/blocks/backup/libbackup.dsp
+ndb/src/kernel/blocks/backup/restore/ndb_restore
+ndb/src/kernel/blocks/cmvmi/libcmvmi.dsp
+ndb/src/kernel/blocks/dbacc/libdbacc.dsp
+ndb/src/kernel/blocks/dbdict/libdbdict.dsp
+ndb/src/kernel/blocks/dbdih/libdbdih.dsp
+ndb/src/kernel/blocks/dblqh/libdblqh.dsp
+ndb/src/kernel/blocks/dbtc/libdbtc.dsp
+ndb/src/kernel/blocks/dbtup/libdbtup.dsp
+ndb/src/kernel/blocks/dbtux/libdbtux.dsp
+ndb/src/kernel/blocks/dbutil/libdbutil.dsp
+ndb/src/kernel/blocks/grep/libgrep.dsp
+ndb/src/kernel/blocks/ndbcntr/libndbcntr.dsp
+ndb/src/kernel/blocks/ndbfs/libndbfs.dsp
+ndb/src/kernel/blocks/qmgr/libqmgr.dsp
+ndb/src/kernel/blocks/suma/libsuma.dsp
+ndb/src/kernel/blocks/trix/libtrix.dsp
+ndb/src/kernel/error/liberror.dsp
+ndb/src/kernel/ndbd
+ndb/src/kernel/ndbd.dsp
+ndb/src/kernel/vm/libkernel.dsp
+ndb/src/libndb.ver
+ndb/src/libndbclient.dsp
+ndb/src/mgmapi/libmgmapi.dsp
+ndb/src/mgmclient/libndbmgmclient.dsp
+ndb/src/mgmclient/ndb_mgm
+ndb/src/mgmclient/ndb_mgm.dsp
+ndb/src/mgmclient/test_cpcd/*.d
+ndb/src/mgmsrv/ndb_mgmd
+ndb/src/mgmsrv/ndb_mgmd.dsp
+ndb/src/ndbapi/libndbapi.dsp
+ndb/test/ndbapi/bank/bankCreator
+ndb/test/ndbapi/bank/bankMakeGL
+ndb/test/ndbapi/bank/bankSumAccounts
+ndb/test/ndbapi/bank/bankTimer
+ndb/test/ndbapi/bank/bankTransactionMaker
+ndb/test/ndbapi/bank/bankValidateAllGLs
+ndb/test/ndbapi/bank/testBank
+ndb/test/ndbapi/create_all_tabs
+ndb/test/ndbapi/create_tab
+ndb/test/ndbapi/drop_all_tabs
+ndb/test/ndbapi/flexAsynch
+ndb/test/ndbapi/flexBench
+ndb/test/ndbapi/flexBench.dsp
+ndb/test/ndbapi/flexHammer
+ndb/test/ndbapi/flexTT
+ndb/test/ndbapi/testBackup
+ndb/test/ndbapi/testBasic
+ndb/test/ndbapi/testBasic.dsp
+ndb/test/ndbapi/testBasicAsynch
+ndb/test/ndbapi/testBlobs
+ndb/test/ndbapi/testBlobs.dsp
+ndb/test/ndbapi/testDataBuffers
+ndb/test/ndbapi/testDeadlock
+ndb/test/ndbapi/testDict
+ndb/test/ndbapi/testIndex
+ndb/test/ndbapi/testMgm
+ndb/test/ndbapi/testNdbApi
+ndb/test/ndbapi/testNodeRestart
+ndb/test/ndbapi/testOIBasic
+ndb/test/ndbapi/testOperations
+ndb/test/ndbapi/testRestartGci
+ndb/test/ndbapi/testSRBank
+ndb/test/ndbapi/testScan
+ndb/test/ndbapi/testScan.dsp
+ndb/test/ndbapi/testScanInterpreter
+ndb/test/ndbapi/testScanPerf
+ndb/test/ndbapi/testSystemRestart
+ndb/test/ndbapi/testTimeout
+ndb/test/ndbapi/testTransactions
+ndb/test/ndbapi/test_event
+ndb/test/run-test/atrt
+ndb/test/src/libNDBT.dsp
+ndb/test/tools/copy_tab
+ndb/test/tools/create_index
+ndb/test/tools/hugoCalculator
+ndb/test/tools/hugoFill
+ndb/test/tools/hugoLoad
+ndb/test/tools/hugoLockRecords
+ndb/test/tools/hugoPkDelete
+ndb/test/tools/hugoPkRead
+ndb/test/tools/hugoPkReadRecord
+ndb/test/tools/hugoPkUpdate
+ndb/test/tools/hugoScanRead
+ndb/test/tools/hugoScanUpdate
+ndb/test/tools/ndb_cpcc
+ndb/test/tools/restart
+ndb/test/tools/verify_index
+ndb/tools/ndb_config
+ndb/tools/ndb_delete_all
+ndb/tools/ndb_delete_all.dsp
+ndb/tools/ndb_desc
+ndb/tools/ndb_desc.dsp
+ndb/tools/ndb_drop_index
+ndb/tools/ndb_drop_index.dsp
+ndb/tools/ndb_drop_table
+ndb/tools/ndb_drop_table.dsp
+ndb/tools/ndb_restore
+ndb/tools/ndb_select_all
+ndb/tools/ndb_select_all.dsp
+ndb/tools/ndb_select_count
+ndb/tools/ndb_select_count.dsp
+ndb/tools/ndb_show_tables
+ndb/tools/ndb_show_tables.dsp
+ndb/tools/ndb_test_platform
+ndb/tools/ndb_waiter
+ndb/tools/ndb_waiter.dsp
+ndbcluster-1186
+ndbcluster-1186/SCCS
+ndbcluster-1186/config.ini
+ndbcluster-1186/ndb_1.pid
+ndbcluster-1186/ndb_1_out.log
+ndbcluster-1186/ndb_1_signal.log
+ndbcluster-1186/ndb_2.pid
+ndbcluster-1186/ndb_2_out.log
+ndbcluster-1186/ndb_2_signal.log
+ndbcluster-1186/ndb_3.pid
+ndbcluster-1186/ndb_3_cluster.log
+ndbcluster-1186/ndb_3_out.log
+ndbcluster-1186/ndbcluster.pid
+netware/.deps/libmysqlmain.Po
+netware/.deps/my_manage.Po
+netware/.deps/mysql_install_db.Po
+netware/.deps/mysql_test_run.Po
+netware/.deps/mysqld_safe.Po
+netware/init_db.sql
+netware/libmysql.imp
+netware/test_db.sql
+pack_isam/*.ds?
+perror/*.ds?
+perror/*.vcproj
+plugin/fulltext/.deps/mypluglib_la-plugin_example.Plo
+plugin/fulltext/.libs/mypluglib.lai
+plugin/fulltext/.libs/mypluglib.so.0
+plugin/fulltext/.libs/mypluglib.so.0.0.0
+pstack/.deps/bucomm.Po
+pstack/.deps/debug.Po
+pstack/.deps/filemode.Po
+pstack/.deps/ieee.Po
+pstack/.deps/linuxthreads.Po
+pstack/.deps/pstack.Po
+pstack/.deps/rddbg.Po
+pstack/.deps/stabs.Po
+pull.log
+regex/*.ds?
+regex/*.vcproj
+regex/.deps/debug.Po
+regex/.deps/main.Po
+regex/.deps/regcomp.Po
+regex/.deps/regerror.Po
+regex/.deps/regexec.Po
+regex/.deps/regfree.Po
+regex/.deps/reginit.Po
+regex/.deps/split.Po
+regex/re
+repl-tests/test-repl-ts/repl-timestamp.master.reject
+repl-tests/test-repl/foo-dump-slave.master.
+repl-tests/test-repl/sum-wlen-slave.master.
+repl-tests/test-repl/sum-wlen-slave.master.re
+repl-tests/test-repl/sum-wlen-slave.master.reje
+replace/*.ds?
+replace/*.vcproj
+scripts/comp_sql
+scripts/fill_func_tables
+scripts/fill_func_tables.sql
+scripts/fill_help_tables
+scripts/fill_help_tables.sql
+scripts/make_binary_distribution
+scripts/make_sharedlib_distribution
+scripts/make_win_binary_distribution
+scripts/make_win_src_distribution
+scripts/make_win_src_distribution_old
+scripts/msql2mysql
+scripts/mysql_config
+scripts/mysql_convert_table_format
+scripts/mysql_create_system_tables
+scripts/mysql_explain_log
+scripts/mysql_find_rows
+scripts/mysql_fix_extensions
+scripts/mysql_fix_privilege_tables
+scripts/mysql_fix_privilege_tables.sql
+scripts/mysql_fix_privilege_tables.sql.rule
+scripts/mysql_fix_privilege_tables_sql.c
+scripts/mysql_fix_privilege_tables_sql.c.rule
+scripts/mysql_install_db
+scripts/mysql_secure_installation
+scripts/mysql_setpermission
+scripts/mysql_tableinfo
+scripts/mysql_upgrade
+scripts/mysql_upgrade_shell
+scripts/mysql_zap
+scripts/mysqlaccess
+scripts/mysqlbug
+scripts/mysqld_multi
+scripts/mysqld_safe
+scripts/mysqldumpslow
+scripts/mysqlhotcopy
+scripts/mysqlhotcopy.sh.rej
+scripts/safe_mysqld
+select_test
+server-tools/instance-manager/.deps/buffer.Po
+server-tools/instance-manager/.deps/command.Po
+server-tools/instance-manager/.deps/commands.Po
+server-tools/instance-manager/.deps/guardian.Po
+server-tools/instance-manager/.deps/instance.Po
+server-tools/instance-manager/.deps/instance_map.Po
+server-tools/instance-manager/.deps/instance_options.Po
+server-tools/instance-manager/.deps/liboptions_la-options.Plo
+server-tools/instance-manager/.deps/liboptions_la-priv.Plo
+server-tools/instance-manager/.deps/listener.Po
+server-tools/instance-manager/.deps/log.Po
+server-tools/instance-manager/.deps/manager.Po
+server-tools/instance-manager/.deps/messages.Po
+server-tools/instance-manager/.deps/mysql_connection.Po
+server-tools/instance-manager/.deps/mysqlmanager.Po
+server-tools/instance-manager/.deps/net_serv.Po
+server-tools/instance-manager/.deps/parse.Po
+server-tools/instance-manager/.deps/parse_output.Po
+server-tools/instance-manager/.deps/protocol.Po
+server-tools/instance-manager/.deps/thread_registry.Po
+server-tools/instance-manager/.deps/user_management_commands.Po
+server-tools/instance-manager/.deps/user_map.Po
+server-tools/instance-manager/buffer.cpp
+server-tools/instance-manager/client.c
+server-tools/instance-manager/client_settings.h
+server-tools/instance-manager/command.cpp
+server-tools/instance-manager/commands.cpp
+server-tools/instance-manager/errmsg.c
+server-tools/instance-manager/guardian.cpp
+server-tools/instance-manager/instance.cpp
+server-tools/instance-manager/instance_map.cpp
+server-tools/instance-manager/instance_options.cpp
+server-tools/instance-manager/listener.cpp
+server-tools/instance-manager/log.cpp
+server-tools/instance-manager/manager.cpp
+server-tools/instance-manager/messages.cpp
+server-tools/instance-manager/mysql_connection.cpp
+server-tools/instance-manager/mysqlmanager
+server-tools/instance-manager/mysqlmanager.cpp
+server-tools/instance-manager/net_serv.cc
+server-tools/instance-manager/options.cpp
+server-tools/instance-manager/parse.cpp
+server-tools/instance-manager/parse_output.cpp
+server-tools/instance-manager/priv.cpp
+server-tools/instance-manager/protocol.cpp
+server-tools/instance-manager/thr_alarm.c
+server-tools/instance-manager/thread_registry.cpp
+server-tools/instance-manager/user_map.cpp
+sql-bench/Results-linux/ATIS-mysql_bdb-Linux_2.2.14_my_SMP_i686
+sql-bench/bench-count-distinct
+sql-bench/bench-init.pl
+sql-bench/compare-results
+sql-bench/compare-results-all
+sql-bench/copy-db
+sql-bench/crash-me
+sql-bench/gif/*
+sql-bench/graph-compare-results
+sql-bench/innotest1
+sql-bench/innotest1a
+sql-bench/innotest1b
+sql-bench/innotest2
+sql-bench/innotest2a
+sql-bench/innotest2b
+sql-bench/output/*
+sql-bench/run-all-tests
+sql-bench/server-cfg
+sql-bench/template.html
+sql-bench/test-ATIS
+sql-bench/test-alter-table
+sql-bench/test-big-tables
+sql-bench/test-connect
+sql-bench/test-create
+sql-bench/test-insert
+sql-bench/test-select
+sql-bench/test-transactions
+sql-bench/test-wisconsin
+sql/*.cpp
+sql/*.ds?
+sql/*.def
+sql/*.vcproj
+sql/.deps/client.Po
+sql/.deps/derror.Po
+sql/.deps/des_key_file.Po
+sql/.deps/discover.Po
+sql/.deps/event_data_objects.Po
+sql/.deps/event_db_repository.Po
+sql/.deps/event_queue.Po
+sql/.deps/event_scheduler.Po
+sql/.deps/events.Po
+sql/.deps/field.Po
+sql/.deps/field_conv.Po
+sql/.deps/filesort.Po
+sql/.deps/gen_lex_hash.Po
+sql/.deps/gstream.Po
+sql/.deps/ha_berkeley.Po
+sql/.deps/ha_federated.Po
+sql/.deps/ha_heap.Po
+sql/.deps/ha_innodb.Po
+sql/.deps/ha_myisam.Po
+sql/.deps/ha_myisammrg.Po
+sql/.deps/ha_ndbcluster.Po
+sql/.deps/ha_ndbcluster_binlog.Po
+sql/.deps/ha_partition.Po
+sql/.deps/handler.Po
+sql/.deps/hash_filo.Po
+sql/.deps/hostname.Po
+sql/.deps/init.Po
+sql/.deps/item.Po
+sql/.deps/item_buff.Po
+sql/.deps/item_cmpfunc.Po
+sql/.deps/item_create.Po
+sql/.deps/item_func.Po
+sql/.deps/item_geofunc.Po
+sql/.deps/item_row.Po
+sql/.deps/item_strfunc.Po
+sql/.deps/item_subselect.Po
+sql/.deps/item_sum.Po
+sql/.deps/item_timefunc.Po
+sql/.deps/item_uniq.Po
+sql/.deps/item_xmlfunc.Po
+sql/.deps/key.Po
+sql/.deps/lock.Po
+sql/.deps/log.Po
+sql/.deps/log_event.Po
+sql/.deps/mf_iocache.Po
+sql/.deps/mini_client_errors.Po
+sql/.deps/my_decimal.Po
+sql/.deps/my_lock.Po
+sql/.deps/my_time.Po
+sql/.deps/my_user.Po
+sql/.deps/mysql_tzinfo_to_sql.Po
+sql/.deps/mysqld.Po
+sql/.deps/net_serv.Po
+sql/.deps/opt_range.Po
+sql/.deps/opt_sum.Po
+sql/.deps/pack.Po
+sql/.deps/parse_file.Po
+sql/.deps/partition_info.Po
+sql/.deps/password.Po
+sql/.deps/procedure.Po
+sql/.deps/protocol.Po
+sql/.deps/records.Po
+sql/.deps/repl_failsafe.Po
+sql/.deps/rpl_filter.Po
+sql/.deps/rpl_injector.Po
+sql/.deps/rpl_tblmap.Po
+sql/.deps/set_var.Po
+sql/.deps/slave.Po
+sql/.deps/sp.Po
+sql/.deps/sp_cache.Po
+sql/.deps/sp_head.Po
+sql/.deps/sp_pcontext.Po
+sql/.deps/sp_rcontext.Po
+sql/.deps/spatial.Po
+sql/.deps/sql_acl.Po
+sql/.deps/sql_analyse.Po
+sql/.deps/sql_base.Po
+sql/.deps/sql_binlog.Po
+sql/.deps/sql_builtin.Po
+sql/.deps/sql_cache.Po
+sql/.deps/sql_class.Po
+sql/.deps/sql_client.Po
+sql/.deps/sql_crypt.Po
+sql/.deps/sql_cursor.Po
+sql/.deps/sql_db.Po
+sql/.deps/sql_delete.Po
+sql/.deps/sql_truncate.Po
+sql/.deps/sql_reload.Po
+sql/.deps/datadict.Po
+sql/.deps/sql_derived.Po
+sql/.deps/sql_do.Po
+sql/.deps/sql_error.Po
+sql/.deps/sql_handler.Po
+sql/.deps/sql_help.Po
+sql/.deps/sql_insert.Po
+sql/.deps/sql_lex.Po
+sql/.deps/sql_list.Po
+sql/.deps/sql_load.Po
+sql/.deps/sql_manager.Po
+sql/.deps/sql_map.Po
+sql/.deps/sql_olap.Po
+sql/.deps/sql_parse.Po
+sql/.deps/sql_partition.Po
+sql/.deps/sql_plugin.Po
+sql/.deps/sql_prepare.Po
+sql/.deps/sql_rename.Po
+sql/.deps/sql_repl.Po
+sql/.deps/sql_select.Po
+sql/.deps/sql_show.Po
+sql/.deps/sql_state.Po
+sql/.deps/sql_string.Po
+sql/.deps/sql_table.Po
+sql/.deps/sql_tablespace.Po
+sql/.deps/sql_test.Po
+sql/.deps/sql_trigger.Po
+sql/.deps/sql_udf.Po
+sql/.deps/sql_union.Po
+sql/.deps/sql_update.Po
+sql/.deps/sql_view.Po
+sql/.deps/sql_yacc.Po
+sql/.deps/stacktrace.Po
+sql/.deps/strfunc.Po
+sql/.deps/table.Po
+sql/.deps/thr_malloc.Po
+sql/.deps/time.Po
+sql/.deps/tztime.Po
+sql/.deps/udf_example.Plo
+sql/.deps/uniques.Po
+sql/.deps/unireg.Po
+sql/.gdbinit
+sql/.libs/udf_example.lai
+sql/.libs/udf_example.so.0
+sql/.libs/udf_example.so.0.0.0
+sql/client.c
+sql/cmake_dummy.cc
+sql/Doxyfile
+sql/f.c
+sql/gen_lex_hash
+sql/gmon.out
+sql/handlerton.cc
+sql/html
+sql/latex
+sql/lex_hash.h
+sql/lex_hash.h.rule
+sql/link_sources
+sql/max/*
+sql/message.h
+sql/message.mc
+sql/message.rc
+sql/mini_client_errors.c
+sql/my_time.c
+sql/my_user.c
+sql/mysql_tzinfo_to_sql
+sql/mysql_tzinfo_to_sql.cc
+sql/mysql_tzinfo_to_sql_tztime.cc
+sql/mysqlbinlog
+sql/mysqld
+sql/mysqld-purecov
+sql/mysqld-purify
+sql/mysqld-quantify
+sql/new.cc
+sql/pack.c
+sql/safe_to_cache_query.txt
+sql/share/*.sys
+sql/share/charsets/gmon.out
+sql/share/fixerrmsg.pl
+sql/share/gmon.out
+sql/share/iso639-2.txt
+sql/share/mysql
+sql/share/norwegian-ny/errmsg.sys
+sql/share/norwegian/errmsg.sys
+sql/sql_builtin.cc
+sql/sql_select.cc.orig
+sql/sql_yacc.cc
+sql/sql_yacc.h
+sql/sql_yacc.h.rule
+sql/sql_yacc.output
+sql/sql_yacc.yy.orig
+sql/test_time
+sql/udf_example.so
+sql_error.cc
+sql_prepare.cc
+stamp-h
+stamp-h.in
+stamp-h1
+stamp-h1.in
+stamp-h2
+stamp-h2.in
+stamp-h3
+stamp-h4
+start_mysqld.sh
+storage/archive/.deps/archive_test-archive_test.Po
+storage/archive/.deps/archive_test-azio.Po
+storage/archive/.deps/ha_archive_la-azio.Plo
+storage/archive/.deps/ha_archive_la-ha_archive.Plo
+storage/archive/.deps/libarchive_a-azio.Po
+storage/archive/.deps/libarchive_a-ha_archive.Po
+storage/archive/archive_reader
+storage/archive/archive_test
+storage/bdb/*.ds?
+storage/bdb/*.vcproj
+storage/bdb/README
+storage/bdb/btree/btree_auto.c
+storage/bdb/btree/btree_autop.c
+storage/bdb/build_unix/*
+storage/bdb/build_vxworks/BerkeleyDB20.wpj
+storage/bdb/build_vxworks/BerkeleyDB20small.wpj
+storage/bdb/build_vxworks/BerkeleyDB22.wpj
+storage/bdb/build_vxworks/BerkeleyDB22small.wpj
+storage/bdb/build_vxworks/db.h
+storage/bdb/build_vxworks/db_config.h
+storage/bdb/build_vxworks/db_config_small.h
+storage/bdb/build_vxworks/db_deadlock/db_deadlock20.wpj
+storage/bdb/build_vxworks/db_deadlock/db_deadlock22.wpj
+storage/bdb/build_vxworks/db_int.h
+storage/bdb/build_vxworks/dbdemo/dbdemo.c
+storage/bdb/build_vxworks/dbdemo/dbdemo20.wpj
+storage/bdb/build_vxworks/dbdemo/dbdemo22.wpj
+storage/bdb/build_win32/*.dsp
+storage/bdb/build_win32/*.h
+storage/bdb/build_win32/db.h
+storage/bdb/build_win32/db_archive.dsp
+storage/bdb/build_win32/db_checkpoint.dsp
+storage/bdb/build_win32/db_config.h
+storage/bdb/build_win32/db_cxx.h
+storage/bdb/build_win32/db_deadlock.dsp
+storage/bdb/build_win32/db_dll.dsp
+storage/bdb/build_win32/db_dump.dsp
+storage/bdb/build_win32/db_int.h
+storage/bdb/build_win32/db_java.dsp
+storage/bdb/build_win32/db_load.dsp
+storage/bdb/build_win32/db_perf.dsp
+storage/bdb/build_win32/db_printlog.dsp
+storage/bdb/build_win32/db_recover.dsp
+storage/bdb/build_win32/db_stat.dsp
+storage/bdb/build_win32/db_static.dsp
+storage/bdb/build_win32/db_tcl.dsp
+storage/bdb/build_win32/db_test.dsp
+storage/bdb/build_win32/db_upgrade.dsp
+storage/bdb/build_win32/db_verify.dsp
+storage/bdb/build_win32/ex_access.dsp
+storage/bdb/build_win32/ex_btrec.dsp
+storage/bdb/build_win32/ex_env.dsp
+storage/bdb/build_win32/ex_lock.dsp
+storage/bdb/build_win32/ex_mpool.dsp
+storage/bdb/build_win32/ex_tpcb.dsp
+storage/bdb/build_win32/excxx_access.dsp
+storage/bdb/build_win32/excxx_btrec.dsp
+storage/bdb/build_win32/excxx_env.dsp
+storage/bdb/build_win32/excxx_lock.dsp
+storage/bdb/build_win32/excxx_mpool.dsp
+storage/bdb/build_win32/excxx_tpcb.dsp
+storage/bdb/build_win32/include.tcl
+storage/bdb/build_win32/libdb.def
+storage/bdb/build_win32/libdb.rc
+storage/bdb/build_win64/*.dsp
+storage/bdb/build_win64/*.dsw
+storage/bdb/build_win64/*.h
+storage/bdb/db/crdel_auto.c
+storage/bdb/db/crdel_autop.c
+storage/bdb/db/db_auto.c
+storage/bdb/db/db_autop.c
+storage/bdb/dbinc_auto/*.*
+storage/bdb/dbreg/dbreg_auto.c
+storage/bdb/dbreg/dbreg_autop.c
+storage/bdb/dist/autom4te-2.53.cache/*
+storage/bdb/dist/autom4te-2.53.cache/output.0
+storage/bdb/dist/autom4te-2.53.cache/requests
+storage/bdb/dist/autom4te-2.53.cache/traces.0
+storage/bdb/dist/autom4te.cache/*
+storage/bdb/dist/autom4te.cache/output.0
+storage/bdb/dist/autom4te.cache/requests
+storage/bdb/dist/autom4te.cache/traces.0
+storage/bdb/dist/config.hin
+storage/bdb/dist/configure
+storage/bdb/dist/tags
+storage/bdb/dist/template/db_server_proc
+storage/bdb/dist/template/gen_client_ret
+storage/bdb/dist/template/rec_btree
+storage/bdb/dist/template/rec_crdel
+storage/bdb/dist/template/rec_db
+storage/bdb/dist/template/rec_dbreg
+storage/bdb/dist/template/rec_fileops
+storage/bdb/dist/template/rec_hash
+storage/bdb/dist/template/rec_log
+storage/bdb/dist/template/rec_qam
+storage/bdb/dist/template/rec_txn
+storage/bdb/examples_c/ex_apprec/ex_apprec_auto.c
+storage/bdb/examples_c/ex_apprec/ex_apprec_auto.h
+storage/bdb/examples_c/ex_apprec/ex_apprec_template
+storage/bdb/examples_java
+storage/bdb/fileops/fileops_auto.c
+storage/bdb/fileops/fileops_autop.c
+storage/bdb/hash/hash_auto.c
+storage/bdb/hash/hash_autop.c
+storage/bdb/include/btree_auto.h
+storage/bdb/include/btree_ext.h
+storage/bdb/include/clib_ext.h
+storage/bdb/include/common_ext.h
+storage/bdb/include/crdel_auto.h
+storage/bdb/include/db_auto.h
+storage/bdb/include/db_ext.h
+storage/bdb/include/db_server.h
+storage/bdb/include/env_ext.h
+storage/bdb/include/gen_client_ext.h
+storage/bdb/include/gen_server_ext.h
+storage/bdb/include/hash_auto.h
+storage/bdb/include/hash_ext.h
+storage/bdb/include/lock_ext.h
+storage/bdb/include/log_auto.h
+storage/bdb/include/log_ext.h
+storage/bdb/include/mp_ext.h
+storage/bdb/include/mutex_ext.h
+storage/bdb/include/os_ext.h
+storage/bdb/include/qam_auto.h
+storage/bdb/include/qam_ext.h
+storage/bdb/include/rpc_client_ext.h
+storage/bdb/include/rpc_server_ext.h
+storage/bdb/include/tcl_ext.h
+storage/bdb/include/txn_auto.h
+storage/bdb/include/txn_ext.h
+storage/bdb/include/xa_ext.h
+storage/bdb/java/src/com/sleepycat/db/Db.java
+storage/bdb/java/src/com/sleepycat/db/DbBtreeStat.java
+storage/bdb/java/src/com/sleepycat/db/DbConstants.java
+storage/bdb/java/src/com/sleepycat/db/DbHashStat.java
+storage/bdb/java/src/com/sleepycat/db/DbLockStat.java
+storage/bdb/java/src/com/sleepycat/db/DbLogStat.java
+storage/bdb/java/src/com/sleepycat/db/DbMpoolFStat.java
+storage/bdb/java/src/com/sleepycat/db/DbQueueStat.java
+storage/bdb/java/src/com/sleepycat/db/DbRepStat.java
+storage/bdb/java/src/com/sleepycat/db/DbTxnStat.java
+storage/bdb/libdb_java/java_stat_auto.c
+storage/bdb/libdb_java/java_stat_auto.h
+storage/bdb/libdb_java/java_util.i
+storage/bdb/log/log_auto.c
+storage/bdb/qam/qam_auto.c
+storage/bdb/qam/qam_autop.c
+storage/bdb/rep/rep_auto.c
+storage/bdb/rep/rep_autop.c
+storage/bdb/rpc_client/db_server_clnt.c
+storage/bdb/rpc_client/gen_client.c
+storage/bdb/rpc_server/c/db_server_proc.c
+storage/bdb/rpc_server/c/db_server_proc.sed
+storage/bdb/rpc_server/c/db_server_svc.c
+storage/bdb/rpc_server/c/db_server_xdr.c
+storage/bdb/rpc_server/c/gen_db_server.c
+storage/bdb/rpc_server/db_server.x
+storage/bdb/rpc_server/db_server_proc.sed
+storage/bdb/rpc_server/db_server_svc.c
+storage/bdb/rpc_server/db_server_xdr.c
+storage/bdb/rpc_server/gen_db_server.c
+storage/bdb/test/TESTS
+storage/bdb/test/include.tcl
+storage/bdb/test/logtrack.list
+storage/bdb/txn/txn_auto.c
+storage/bdb/txn/txn_autop.c
+storage/blackhole/.deps/ha_blackhole_la-ha_blackhole.Plo
+storage/blackhole/.deps/libblackhole_a-ha_blackhole.Po
+storage/csv/.deps/ha_csv_la-ha_tina.Plo
+storage/csv/.deps/libcsv_a-ha_tina.Po
+storage/example/.deps/ha_example_la-ha_example.Plo
+storage/example/.deps/libexample_a-ha_example.Po
+storage/heap/.deps/_check.Po
+storage/heap/.deps/_rectest.Po
+storage/heap/.deps/hp_block.Po
+storage/heap/.deps/hp_clear.Po
+storage/heap/.deps/hp_close.Po
+storage/heap/.deps/hp_create.Po
+storage/heap/.deps/hp_delete.Po
+storage/heap/.deps/hp_extra.Po
+storage/heap/.deps/hp_hash.Po
+storage/heap/.deps/hp_info.Po
+storage/heap/.deps/hp_open.Po
+storage/heap/.deps/hp_panic.Po
+storage/heap/.deps/hp_rename.Po
+storage/heap/.deps/hp_rfirst.Po
+storage/heap/.deps/hp_rkey.Po
+storage/heap/.deps/hp_rlast.Po
+storage/heap/.deps/hp_rnext.Po
+storage/heap/.deps/hp_rprev.Po
+storage/heap/.deps/hp_rrnd.Po
+storage/heap/.deps/hp_rsame.Po
+storage/heap/.deps/hp_scan.Po
+storage/heap/.deps/hp_static.Po
+storage/heap/.deps/hp_test1.Po
+storage/heap/.deps/hp_test2.Po
+storage/heap/.deps/hp_update.Po
+storage/heap/.deps/hp_write.Po
+storage/heap/hp_test1
+storage/heap/hp_test2
+storage/innobase/autom4te-2.53.cache/*
+storage/innobase/autom4te-2.53.cache/output.0
+storage/innobase/autom4te-2.53.cache/requests
+storage/innobase/autom4te-2.53.cache/traces.0
+storage/innobase/autom4te.cache/*
+storage/innobase/autom4te.cache/output.0
+storage/innobase/autom4te.cache/requests
+storage/innobase/autom4te.cache/traces.0
+storage/innobase/btr/.deps/btr0btr.Po
+storage/innobase/btr/.deps/btr0cur.Po
+storage/innobase/btr/.deps/btr0pcur.Po
+storage/innobase/btr/.deps/btr0sea.Po
+storage/innobase/buf/.deps/buf0buf.Po
+storage/innobase/buf/.deps/buf0flu.Po
+storage/innobase/buf/.deps/buf0lru.Po
+storage/innobase/buf/.deps/buf0rea.Po
+storage/innobase/configure.lineno
+storage/innobase/conftest.s1
+storage/innobase/conftest.subs
+storage/innobase/data/.deps/data0data.Po
+storage/innobase/data/.deps/data0type.Po
+storage/innobase/dict/.deps/dict0boot.Po
+storage/innobase/dict/.deps/dict0crea.Po
+storage/innobase/dict/.deps/dict0dict.Po
+storage/innobase/dict/.deps/dict0load.Po
+storage/innobase/dict/.deps/dict0mem.Po
+storage/innobase/dyn/.deps/dyn0dyn.Po
+storage/innobase/eval/.deps/eval0eval.Po
+storage/innobase/eval/.deps/eval0proc.Po
+storage/innobase/fil/.deps/fil0fil.Po
+storage/innobase/fsp/.deps/fsp0fsp.Po
+storage/innobase/fut/.deps/fut0fut.Po
+storage/innobase/fut/.deps/fut0lst.Po
+storage/innobase/ha/.deps/ha0ha.Po
+storage/innobase/ha/.deps/hash0hash.Po
+storage/innobase/ib_config.h
+storage/innobase/ib_config.h.in
+storage/innobase/ibuf/.deps/ibuf0ibuf.Po
+storage/innobase/lock/.deps/lock0lock.Po
+storage/innobase/log/.deps/log0log.Po
+storage/innobase/log/.deps/log0recv.Po
+storage/innobase/mach/.deps/mach0data.Po
+storage/innobase/mem/.deps/mem0mem.Po
+storage/innobase/mem/.deps/mem0pool.Po
+storage/innobase/mkinstalldirs
+storage/innobase/mtr/.deps/mtr0log.Po
+storage/innobase/mtr/.deps/mtr0mtr.Po
+storage/innobase/os/.deps/os0file.Po
+storage/innobase/os/.deps/os0proc.Po
+storage/innobase/os/.deps/os0sync.Po
+storage/innobase/os/.deps/os0thread.Po
+storage/innobase/page/.deps/page0cur.Po
+storage/innobase/page/.deps/page0page.Po
+storage/innobase/pars/.deps/lexyy.Po
+storage/innobase/pars/.deps/pars0grm.Po
+storage/innobase/pars/.deps/pars0opt.Po
+storage/innobase/pars/.deps/pars0pars.Po
+storage/innobase/pars/.deps/pars0sym.Po
+storage/innobase/que/.deps/que0que.Po
+storage/innobase/read/.deps/read0read.Po
+storage/innobase/rem/.deps/rem0cmp.Po
+storage/innobase/rem/.deps/rem0rec.Po
+storage/innobase/row/.deps/row0ins.Po
+storage/innobase/row/.deps/row0mysql.Po
+storage/innobase/row/.deps/row0purge.Po
+storage/innobase/row/.deps/row0row.Po
+storage/innobase/row/.deps/row0sel.Po
+storage/innobase/row/.deps/row0uins.Po
+storage/innobase/row/.deps/row0umod.Po
+storage/innobase/row/.deps/row0undo.Po
+storage/innobase/row/.deps/row0upd.Po
+storage/innobase/row/.deps/row0vers.Po
+storage/innobase/srv/.deps/srv0que.Po
+storage/innobase/srv/.deps/srv0srv.Po
+storage/innobase/srv/.deps/srv0start.Po
+storage/innobase/stamp-h1
+storage/innobase/sync/.deps/sync0arr.Po
+storage/innobase/sync/.deps/sync0rw.Po
+storage/innobase/sync/.deps/sync0sync.Po
+storage/innobase/thr/.deps/thr0loc.Po
+storage/innobase/trx/.deps/trx0purge.Po
+storage/innobase/trx/.deps/trx0rec.Po
+storage/innobase/trx/.deps/trx0roll.Po
+storage/innobase/trx/.deps/trx0rseg.Po
+storage/innobase/trx/.deps/trx0sys.Po
+storage/innobase/trx/.deps/trx0trx.Po
+storage/innobase/trx/.deps/trx0undo.Po
+storage/innobase/usr/.deps/usr0sess.Po
+storage/innobase/ut/.deps/ut0byte.Po
+storage/innobase/ut/.deps/ut0dbg.Po
+storage/innobase/ut/.deps/ut0list.Po
+storage/innobase/ut/.deps/ut0mem.Po
+storage/innobase/ut/.deps/ut0rnd.Po
+storage/innobase/ut/.deps/ut0ut.Po
+storage/innobase/ut/.deps/ut0vec.Po
+storage/innobase/ut/.deps/ut0wqueue.Po
+storage/myisam/.deps/ft_boolean_search.Po
+storage/myisam/.deps/ft_nlq_search.Po
+storage/myisam/.deps/ft_parser.Po
+storage/myisam/.deps/ft_static.Po
+storage/myisam/.deps/ft_stopwords.Po
+storage/myisam/.deps/ft_update.Po
+storage/myisam/.deps/mi_cache.Po
+storage/myisam/.deps/mi_changed.Po
+storage/myisam/.deps/mi_check.Po
+storage/myisam/.deps/mi_checksum.Po
+storage/myisam/.deps/mi_close.Po
+storage/myisam/.deps/mi_create.Po
+storage/myisam/.deps/mi_dbug.Po
+storage/myisam/.deps/mi_delete.Po
+storage/myisam/.deps/mi_delete_all.Po
+storage/myisam/.deps/mi_delete_table.Po
+storage/myisam/.deps/mi_dynrec.Po
+storage/myisam/.deps/mi_extra.Po
+storage/myisam/.deps/mi_info.Po
+storage/myisam/.deps/mi_key.Po
+storage/myisam/.deps/mi_keycache.Po
+storage/myisam/.deps/mi_locking.Po
+storage/myisam/.deps/mi_log.Po
+storage/myisam/.deps/mi_open.Po
+storage/myisam/.deps/mi_packrec.Po
+storage/myisam/.deps/mi_page.Po
+storage/myisam/.deps/mi_panic.Po
+storage/myisam/.deps/mi_preload.Po
+storage/myisam/.deps/mi_range.Po
+storage/myisam/.deps/mi_rename.Po
+storage/myisam/.deps/mi_rfirst.Po
+storage/myisam/.deps/mi_rkey.Po
+storage/myisam/.deps/mi_rlast.Po
+storage/myisam/.deps/mi_rnext.Po
+storage/myisam/.deps/mi_rnext_same.Po
+storage/myisam/.deps/mi_rprev.Po
+storage/myisam/.deps/mi_rrnd.Po
+storage/myisam/.deps/mi_rsame.Po
+storage/myisam/.deps/mi_rsamepos.Po
+storage/myisam/.deps/mi_scan.Po
+storage/myisam/.deps/mi_search.Po
+storage/myisam/.deps/mi_static.Po
+storage/myisam/.deps/mi_statrec.Po
+storage/myisam/.deps/mi_test1.Po
+storage/myisam/.deps/mi_test2.Po
+storage/myisam/.deps/mi_test3.Po
+storage/myisam/.deps/mi_unique.Po
+storage/myisam/.deps/mi_update.Po
+storage/myisam/.deps/mi_write.Po
+storage/myisam/.deps/myisam_ftdump.Po
+storage/myisam/.deps/myisamchk.Po
+storage/myisam/.deps/myisamlog.Po
+storage/myisam/.deps/myisampack.Po
+storage/myisam/.deps/rt_index.Po
+storage/myisam/.deps/rt_key.Po
+storage/myisam/.deps/rt_mbr.Po
+storage/myisam/.deps/rt_split.Po
+storage/myisam/.deps/rt_test.Po
+storage/myisam/.deps/sort.Po
+storage/myisam/.deps/sp_key.Po
+storage/myisam/.deps/sp_test.Po
+storage/myisam/FT1.MYD
+storage/myisam/FT1.MYI
+storage/myisam/ft_dump
+storage/myisam/ft_eval
+storage/myisam/ft_test1
+storage/myisam/ftbench/data
+storage/myisam/ftbench/t
+storage/myisam/ftbench/var/*
+storage/myisam/mi_test1
+storage/myisam/mi_test2
+storage/myisam/mi_test3
+storage/myisam/mi_test_all
+storage/myisam/myisam.log
+storage/myisam/myisam_ftdump
+storage/myisam/myisamchk
+storage/myisam/myisamlog
+storage/myisam/myisampack
+storage/myisam/rt_test
+storage/myisam/rt_test.MYD
+storage/myisam/rt_test.MYI
+storage/myisam/sp_test
+storage/myisam/test1.MYD
+storage/myisam/test1.MYI
+storage/myisam/test2.MYD
+storage/myisam/test2.MYI
+storage/myisammrg/.deps/myrg_close.Po
+storage/myisammrg/.deps/myrg_create.Po
+storage/myisammrg/.deps/myrg_delete.Po
+storage/myisammrg/.deps/myrg_extra.Po
+storage/myisammrg/.deps/myrg_info.Po
+storage/myisammrg/.deps/myrg_locking.Po
+storage/myisammrg/.deps/myrg_open.Po
+storage/myisammrg/.deps/myrg_panic.Po
+storage/myisammrg/.deps/myrg_queue.Po
+storage/myisammrg/.deps/myrg_range.Po
+storage/myisammrg/.deps/myrg_rfirst.Po
+storage/myisammrg/.deps/myrg_rkey.Po
+storage/myisammrg/.deps/myrg_rlast.Po
+storage/myisammrg/.deps/myrg_rnext.Po
+storage/myisammrg/.deps/myrg_rnext_same.Po
+storage/myisammrg/.deps/myrg_rprev.Po
+storage/myisammrg/.deps/myrg_rrnd.Po
+storage/myisammrg/.deps/myrg_rsame.Po
+storage/myisammrg/.deps/myrg_static.Po
+storage/myisammrg/.deps/myrg_update.Po
+storage/myisammrg/.deps/myrg_write.Po
+storage/ndb/bin/DbAsyncGenerator
+storage/ndb/bin/DbCreate
+storage/ndb/bin/acid
+storage/ndb/bin/async-lmc-bench-l-p10.sh
+storage/ndb/bin/async-lmc-bench-l.sh
+storage/ndb/bin/async-lmc-bench-p10.sh
+storage/ndb/bin/async-lmc-bench.sh
+storage/ndb/bin/atrt
+storage/ndb/bin/atrt-analyze-result.sh
+storage/ndb/bin/atrt-clear-result.sh
+storage/ndb/bin/atrt-gather-result.sh
+storage/ndb/bin/atrt-setup.sh
+storage/ndb/bin/bankCreator
+storage/ndb/bin/bankMakeGL
+storage/ndb/bin/bankSumAccounts
+storage/ndb/bin/bankTimer
+storage/ndb/bin/bankTransactionMaker
+storage/ndb/bin/bankValidateAllGLs
+storage/ndb/bin/basicTransporterTest
+storage/ndb/bin/benchronja
+storage/ndb/bin/bulk_copy
+storage/ndb/bin/copy_tab
+storage/ndb/bin/create_all_tabs
+storage/ndb/bin/create_index
+storage/ndb/bin/create_tab
+storage/ndb/bin/delete_all
+storage/ndb/bin/desc
+storage/ndb/bin/drop_all_tabs
+storage/ndb/bin/drop_index
+storage/ndb/bin/drop_tab
+storage/ndb/bin/flexAsynch
+storage/ndb/bin/flexBench
+storage/ndb/bin/flexHammer
+storage/ndb/bin/flexScan
+storage/ndb/bin/flexTT
+storage/ndb/bin/hugoCalculator
+storage/ndb/bin/hugoFill
+storage/ndb/bin/hugoLoad
+storage/ndb/bin/hugoLockRecords
+storage/ndb/bin/hugoPkDelete
+storage/ndb/bin/hugoPkRead
+storage/ndb/bin/hugoPkReadRecord
+storage/ndb/bin/hugoPkUpdate
+storage/ndb/bin/hugoScanRead
+storage/ndb/bin/hugoScanUpdate
+storage/ndb/bin/index
+storage/ndb/bin/index2
+storage/ndb/bin/initronja
+storage/ndb/bin/interpreterInTup
+storage/ndb/bin/list_tables
+storage/ndb/bin/make-config.sh
+storage/ndb/bin/mgmtclient
+storage/ndb/bin/mgmtsrvr
+storage/ndb/bin/mkconfig
+storage/ndb/bin/ndb
+storage/ndb/bin/ndb_cpcc
+storage/ndb/bin/ndb_cpcd
+storage/ndb/bin/ndb_rep
+storage/ndb/bin/ndbsql
+storage/ndb/bin/newton_basic
+storage/ndb/bin/newton_br
+storage/ndb/bin/newton_pb
+storage/ndb/bin/newton_perf
+storage/ndb/bin/perfTransporterTest
+storage/ndb/bin/printConfig
+storage/ndb/bin/printSchemafile
+storage/ndb/bin/printSysfile
+storage/ndb/bin/redoLogFileReader
+storage/ndb/bin/restart
+storage/ndb/bin/restarter
+storage/ndb/bin/restarter2
+storage/ndb/bin/restarts
+storage/ndb/bin/restore
+storage/ndb/bin/select_all
+storage/ndb/bin/select_count
+storage/ndb/bin/telco
+storage/ndb/bin/testBackup
+storage/ndb/bin/testBank
+storage/ndb/bin/testBasic
+storage/ndb/bin/testBasicAsynch
+storage/ndb/bin/testCopy
+storage/ndb/bin/testDataBuffers
+storage/ndb/bin/testDict
+storage/ndb/bin/testGrep
+storage/ndb/bin/testGrepVerify
+storage/ndb/bin/testIndex
+storage/ndb/bin/testInterpreter
+storage/ndb/bin/testKernelDataBuffer
+storage/ndb/bin/testLongSig
+storage/ndb/bin/testMgm
+storage/ndb/bin/testMgmapi
+storage/ndb/bin/testNdbApi
+storage/ndb/bin/testNodeRestart
+storage/ndb/bin/testOIBasic
+storage/ndb/bin/testOdbcDriver
+storage/ndb/bin/testOperations
+storage/ndb/bin/testRestartGci
+storage/ndb/bin/testScan
+storage/ndb/bin/testScanInterpreter
+storage/ndb/bin/testSimplePropertiesSection
+storage/ndb/bin/testSystemRestart
+storage/ndb/bin/testTimeout
+storage/ndb/bin/testTransactions
+storage/ndb/bin/test_cpcd
+storage/ndb/bin/test_event
+storage/ndb/bin/verify_index
+storage/ndb/bin/waiter
+storage/ndb/config/autom4te.cache/*
+storage/ndb/config/config.mk
+storage/ndb/examples/ndbapi_example1/ndbapi_example1
+storage/ndb/examples/ndbapi_example2/ndbapi_example2
+storage/ndb/examples/ndbapi_example3/ndbapi_example3
+storage/ndb/examples/ndbapi_example5/ndbapi_example5
+storage/ndb/examples/select_all/select_all
+storage/ndb/include/ndb_global.h
+storage/ndb/include/ndb_types.h
+storage/ndb/include/ndb_version.h
+storage/ndb/lib/libMGM_API.so
+storage/ndb/lib/libNDB_API.so
+storage/ndb/lib/libNDB_ODBC.so
+storage/ndb/lib/libNEWTON_API.so
+storage/ndb/lib/libNEWTON_BASICTEST_COMMON.so
+storage/ndb/lib/libREP_API.so
+storage/ndb/lib/libndbclient.so
+storage/ndb/lib/libndbclient_extra.so
+storage/ndb/ndbapi-examples/mgmapi_logevent/mgmapi_logevent
+storage/ndb/ndbapi-examples/mgmapi_logevent2/mgmapi_logevent2
+storage/ndb/ndbapi-examples/ndbapi_async/ndbapi_async
+storage/ndb/ndbapi-examples/ndbapi_async1/ndbapi_async1
+storage/ndb/ndbapi-examples/ndbapi_event/ndbapi_event
+storage/ndb/ndbapi-examples/ndbapi_retries/ndbapi_retries
+storage/ndb/ndbapi-examples/ndbapi_scan/ndbapi_scan
+storage/ndb/ndbapi-examples/ndbapi_simple/ndbapi_simple
+storage/ndb/ndbapi-examples/ndbapi_simple_dual/ndbapi_simple_dual
+storage/ndb/ndbapi-examples/ndbapi_simple_index/ndbapi_simple_index
+storage/ndb/src/common/debugger/libtrace.dsp
+storage/ndb/src/common/debugger/signaldata/libsignaldataprint.dsp
+storage/ndb/src/common/logger/liblogger.dsp
+storage/ndb/src/common/mgmcommon/libmgmsrvcommon.dsp
+storage/ndb/src/common/mgmcommon/printConfig/*.d
+storage/ndb/src/common/portlib/libportlib.dsp
+storage/ndb/src/common/transporter/libtransporter.dsp
+storage/ndb/src/common/util/libgeneral.dsp
+storage/ndb/src/common/util/testBitmask.cpp
+storage/ndb/src/cw/cpcd/ndb_cpcd
+storage/ndb/src/dummy.cpp
+storage/ndb/src/kernel/blocks/backup/libbackup.dsp
+storage/ndb/src/kernel/blocks/backup/ndb_print_backup_file
+storage/ndb/src/kernel/blocks/backup/restore/ndb_restore
+storage/ndb/src/kernel/blocks/cmvmi/libcmvmi.dsp
+storage/ndb/src/kernel/blocks/dbacc/libdbacc.dsp
+storage/ndb/src/kernel/blocks/dbdict/libdbdict.dsp
+storage/ndb/src/kernel/blocks/dbdict/ndb_print_schema_file
+storage/ndb/src/kernel/blocks/dbdih/libdbdih.dsp
+storage/ndb/src/kernel/blocks/dbdih/ndb_print_sys_file
+storage/ndb/src/kernel/blocks/dblqh/libdblqh.dsp
+storage/ndb/src/kernel/blocks/dbtc/libdbtc.dsp
+storage/ndb/src/kernel/blocks/dbtup/libdbtup.dsp
+storage/ndb/src/kernel/blocks/dbtup/test_varpage
+storage/ndb/src/kernel/blocks/dbtux/libdbtux.dsp
+storage/ndb/src/kernel/blocks/dbutil/libdbutil.dsp
+storage/ndb/src/kernel/blocks/grep/libgrep.dsp
+storage/ndb/src/kernel/blocks/ndb_print_file
+storage/ndb/src/kernel/blocks/ndbcntr/libndbcntr.dsp
+storage/ndb/src/kernel/blocks/ndbfs/libndbfs.dsp
+storage/ndb/src/kernel/blocks/qmgr/libqmgr.dsp
+storage/ndb/src/kernel/blocks/suma/libsuma.dsp
+storage/ndb/src/kernel/blocks/trix/libtrix.dsp
+storage/ndb/src/kernel/error/liberror.dsp
+storage/ndb/src/kernel/ndbd
+storage/ndb/src/kernel/ndbd.dsp
+storage/ndb/src/kernel/vm/libkernel.dsp
+storage/ndb/src/libndb.ver
+storage/ndb/src/libndbclient.dsp
+storage/ndb/src/mgmapi/libmgmapi.dsp
+storage/ndb/src/mgmclient/libndbmgmclient.dsp
+storage/ndb/src/mgmclient/ndb_mgm
+storage/ndb/src/mgmclient/ndb_mgm.dsp
+storage/ndb/src/mgmclient/test_cpcd/*.d
+storage/ndb/src/mgmsrv/ndb_mgmd
+storage/ndb/src/mgmsrv/ndb_mgmd.dsp
+storage/ndb/src/ndbapi/libndbapi.dsp
+storage/ndb/src/ndbapi/ndberror_check
+storage/ndb/test/ndbapi/DbAsyncGenerator
+storage/ndb/test/ndbapi/DbCreate
+storage/ndb/test/ndbapi/bank/bankCreator
+storage/ndb/test/ndbapi/bank/bankMakeGL
+storage/ndb/test/ndbapi/bank/bankSumAccounts
+storage/ndb/test/ndbapi/bank/bankTimer
+storage/ndb/test/ndbapi/bank/bankTransactionMaker
+storage/ndb/test/ndbapi/bank/bankValidateAllGLs
+storage/ndb/test/ndbapi/bank/testBank
+storage/ndb/test/ndbapi/create_all_tabs
+storage/ndb/test/ndbapi/create_tab
+storage/ndb/test/ndbapi/drop_all_tabs
+storage/ndb/test/ndbapi/flexAsynch
+storage/ndb/test/ndbapi/flexBench
+storage/ndb/test/ndbapi/flexBench.dsp
+storage/ndb/test/ndbapi/flexHammer
+storage/ndb/test/ndbapi/flexTT
+storage/ndb/test/ndbapi/ndbapi_slow_select
+storage/ndb/test/ndbapi/testBackup
+storage/ndb/test/ndbapi/testBasic
+storage/ndb/test/ndbapi/testBasic.dsp
+storage/ndb/test/ndbapi/testBasicAsynch
+storage/ndb/test/ndbapi/testBitfield
+storage/ndb/test/ndbapi/testBlobs
+storage/ndb/test/ndbapi/testBlobs.dsp
+storage/ndb/test/ndbapi/testDataBuffers
+storage/ndb/test/ndbapi/testDeadlock
+storage/ndb/test/ndbapi/testDict
+storage/ndb/test/ndbapi/testIndex
+storage/ndb/test/ndbapi/testIndexStat
+storage/ndb/test/ndbapi/testInterpreter
+storage/ndb/test/ndbapi/testLcp
+storage/ndb/test/ndbapi/testMgm
+storage/ndb/test/ndbapi/testNdbApi
+storage/ndb/test/ndbapi/testNodeRestart
+storage/ndb/test/ndbapi/testOIBasic
+storage/ndb/test/ndbapi/testOperations
+storage/ndb/test/ndbapi/testPartitioning
+storage/ndb/test/ndbapi/testReadPerf
+storage/ndb/test/ndbapi/testRestartGci
+storage/ndb/test/ndbapi/testSRBank
+storage/ndb/test/ndbapi/testScan
+storage/ndb/test/ndbapi/testScan.dsp
+storage/ndb/test/ndbapi/testScanInterpreter
+storage/ndb/test/ndbapi/testScanPerf
+storage/ndb/test/ndbapi/testSystemRestart
+storage/ndb/test/ndbapi/testTimeout
+storage/ndb/test/ndbapi/testTransactions
+storage/ndb/test/ndbapi/test_event
+storage/ndb/test/ndbapi/test_event_merge
+storage/ndb/test/run-test/atrt
+storage/ndb/test/src/libNDBT.dsp
+storage/ndb/test/tools/copy_tab
+storage/ndb/test/tools/create_index
+storage/ndb/test/tools/hugoCalculator
+storage/ndb/test/tools/hugoFill
+storage/ndb/test/tools/hugoLoad
+storage/ndb/test/tools/hugoLockRecords
+storage/ndb/test/tools/hugoPkDelete
+storage/ndb/test/tools/hugoPkRead
+storage/ndb/test/tools/hugoPkReadRecord
+storage/ndb/test/tools/hugoPkUpdate
+storage/ndb/test/tools/hugoScanRead
+storage/ndb/test/tools/hugoScanUpdate
+storage/ndb/test/tools/listen_event
+storage/ndb/test/tools/ndb_cpcc
+storage/ndb/test/tools/rep_latency
+storage/ndb/test/tools/restart
+storage/ndb/test/tools/verify_index
+storage/ndb/tools/ndb_config
+storage/ndb/tools/ndb_delete_all
+storage/ndb/tools/ndb_delete_all.dsp
+storage/ndb/tools/ndb_desc
+storage/ndb/tools/ndb_desc.dsp
+storage/ndb/tools/ndb_drop_index
+storage/ndb/tools/ndb_drop_index.dsp
+storage/ndb/tools/ndb_drop_table
+storage/ndb/tools/ndb_drop_table.dsp
+storage/ndb/tools/ndb_restore
+storage/ndb/tools/ndb_select_all
+storage/ndb/tools/ndb_select_all.dsp
+storage/ndb/tools/ndb_select_count
+storage/ndb/tools/ndb_select_count.dsp
+storage/ndb/tools/ndb_show_tables
+storage/ndb/tools/ndb_show_tables.dsp
+storage/ndb/tools/ndb_test_platform
+storage/ndb/tools/ndb_waiter
+storage/ndb/tools/ndb_waiter.dsp
+strings/*.ds?
+strings/*.vcproj
+strings/.deps/bchange.Po
+strings/.deps/bcmp.Po
+strings/.deps/bfill.Po
+strings/.deps/bmove.Po
+strings/.deps/bmove512.Po
+strings/.deps/bmove_upp.Po
+strings/.deps/conf_to_src.Po
+strings/.deps/ctype-big5.Po
+strings/.deps/ctype-bin.Po
+strings/.deps/ctype-cp932.Po
+strings/.deps/ctype-czech.Po
+strings/.deps/ctype-euc_kr.Po
+strings/.deps/ctype-eucjpms.Po
+strings/.deps/ctype-extra.Po
+strings/.deps/ctype-gb2312.Po
+strings/.deps/ctype-gbk.Po
+strings/.deps/ctype-latin1.Po
+strings/.deps/ctype-mb.Po
+strings/.deps/ctype-simple.Po
+strings/.deps/ctype-sjis.Po
+strings/.deps/ctype-tis620.Po
+strings/.deps/ctype-uca.Po
+strings/.deps/ctype-ucs2.Po
+strings/.deps/ctype-ujis.Po
+strings/.deps/ctype-utf8.Po
+strings/.deps/ctype-win1250ch.Po
+strings/.deps/ctype.Po
+strings/.deps/decimal.Po
+strings/.deps/int2str.Po
+strings/.deps/is_prefix.Po
+strings/.deps/llstr.Po
+strings/.deps/longlong2str.Po
+strings/.deps/longlong2str_asm.Po
+strings/.deps/my_strchr.Po
+strings/.deps/my_strtoll10.Po
+strings/.deps/my_vsnprintf.Po
+strings/.deps/r_strinstr.Po
+strings/.deps/str2int.Po
+strings/.deps/str_alloc.Po
+strings/.deps/strappend.Po
+strings/.deps/strcend.Po
+strings/.deps/strcont.Po
+strings/.deps/strend.Po
+strings/.deps/strfill.Po
+strings/.deps/strinstr.Po
+strings/.deps/strmake.Po
+strings/.deps/strmov.Po
+strings/.deps/strnlen.Po
+strings/.deps/strnmov.Po
+strings/.deps/strstr.Po
+strings/.deps/strtod.Po
+strings/.deps/strtol.Po
+strings/.deps/strtoll.Po
+strings/.deps/strtoul.Po
+strings/.deps/strtoull.Po
+strings/.deps/strxmov.Po
+strings/.deps/strxnmov.Po
+strings/.deps/xml.Po
+strings/conf_to_src
+strings/ctype_autoconf.c
+strings/ctype_extra_sources.c
+strings/str_test
+strings/test_decimal
+support-files/*.ini
+support-files/MacOSX/Description.plist
+support-files/MacOSX/Info.plist
+support-files/MacOSX/ReadMe.txt
+support-files/MacOSX/StartupParameters.plist
+support-files/MacOSX/postflight
+support-files/MacOSX/postinstall
+support-files/MacOSX/preflight
+support-files/MacOSX/preinstall
+support-files/binary-configure
+support-files/my-huge.cnf
+support-files/my-innodb-heavy-4G.cnf
+support-files/my-large.cnf
+support-files/my-medium.cnf
+support-files/my-small.cnf
+support-files/mysql-3.23.25-beta.spec
+support-files/mysql-3.23.26-beta.spec
+support-files/mysql-3.23.27-beta.spec
+support-files/mysql-3.23.28-gamma.spec
+support-files/mysql-3.23.29-gamma.spec
+support-files/mysql-log-rotate
+support-files/mysql.server
+support-files/mysql.spec
+support-files/mysqld_multi.server
+support-files/ndb-config-2-node.ini
+tags
+test/ndbapi/bank/bankCreator
+test/ndbapi/bank/bankMakeGL
+test/ndbapi/bank/bankSumAccounts
+test/ndbapi/bank/bankTimer
+test/ndbapi/bank/bankTransactionMaker
+test/ndbapi/bank/bankValidateAllGLs
+test/ndbapi/bank/testBank
+test/ndbapi/create_all_tabs
+test/ndbapi/create_tab
+test/ndbapi/drop_all_tabs
+test/ndbapi/flexAsynch
+test/ndbapi/flexBench
+test/ndbapi/flexHammer
+test/ndbapi/flexTT
+test/ndbapi/testBackup
+test/ndbapi/testBasic
+test/ndbapi/testBasicAsynch
+test/ndbapi/testBlobs
+test/ndbapi/testDataBuffers
+test/ndbapi/testDeadlock
+test/ndbapi/testDict
+test/ndbapi/testIndex
+test/ndbapi/testMgm
+test/ndbapi/testNdbApi
+test/ndbapi/testNodeRestart
+test/ndbapi/testOIBasic
+test/ndbapi/testOperations
+test/ndbapi/testRestartGci
+test/ndbapi/testScan
+test/ndbapi/testScanInterpreter
+test/ndbapi/testScanPerf
+test/ndbapi/testSystemRestart
+test/ndbapi/testTimeout
+test/ndbapi/testTransactions
+test/ndbapi/test_event
+test/run-test/atrt
+test/tools/copy_tab
+test/tools/create_index
+test/tools/hugoCalculator
+test/tools/hugoFill
+test/tools/hugoLoad
+test/tools/hugoLockRecords
+test/tools/hugoPkDelete
+test/tools/hugoPkRead
+test/tools/hugoPkReadRecord
+test/tools/hugoPkUpdate
+test/tools/hugoScanRead
+test/tools/hugoScanUpdate
+test/tools/ndb_cpcc
+test/tools/restart
+test/tools/verify_index
+test1/*
+test_xml
+tests/*.ds?
+tests/*.vcproj
+tests/.deps/dummy.Po
+tests/.deps/insert_test.Po
+tests/.deps/mysql_client_test.Po
+tests/.deps/select_test.Po
+tests/.deps/thread_test.Po
+tests/.libs -prune
+tests/.libs/lt-mysql_client_test
+tests/.libs/mysql_client_test
+tests/bug25714
+tests/client_test
+tests/connect_test
+tests/mysql_client_test
+thr_insert_test/*
+thr_test/*
+thread_test
+tmp/*
+tools/.libs -prune
+tools/my_vsnprintf.c
+tools/mysqlmanager
+tools/mysqlmngd
+tools/mysqltestmanager
+tools/mysys_priv.h
+unittest/examples/*.t
+unittest/examples/.deps/no_plan-t.Po
+unittest/examples/.deps/simple-t.Po
+unittest/examples/.deps/skip-t.Po
+unittest/examples/.deps/skip_all-t.Po
+unittest/examples/.deps/todo-t.Po
+unittest/mysys/*.t
+unittest/mysys/.deps/base64-t.Po
+unittest/mysys/.deps/bitmap-t.Po
+unittest/mysys/.deps/my_atomic-t.Po
+unittest/mytap/.deps/tap.Po
+unittest/mytap/t/*.t
+unittest/mytap/t/.deps/basic-t.Po
+unittest/unit
+vi.h
+vio/*.ds?
+vio/*.vcproj
+vio/.deps/dummy.Po
+vio/.deps/test-ssl.Po
+vio/.deps/test-sslclient.Po
+vio/.deps/test-sslserver.Po
+vio/.deps/vio.Po
+vio/.deps/viosocket.Po
+vio/.deps/viossl.Po
+vio/.deps/viosslfactories.Po
+vio/test-ssl
+vio/test-sslclient
+vio/test-sslserver
+vio/viotest-ssl
+vio/viotest-sslconnect.cpp
+vio/viotest.cpp
+win/configure.data
+win/vs71cache.txt
+win/vs8cache.txt
+win/nmake_cache.txt
+ylwrap
+zlib/*.ds?
+zlib/*.vcproj
+mysql-test/bug36522-64.tar
+mysql-test/bug36522.tar
+mysql-test/t.log
+mysql-test/tps.log
+libmysqld/event_parse_data.cc
+autom4te.cache
+sql/share/czech
+sql/share/danish
+sql/share/dutch
+sql/share/english
+sql/share/estonian
+sql/share/french
+sql/share/german
+sql/share/greek
+sql/share/hungarian
+sql/share/italian
+sql/share/japanese
+sql/share/japanese-sjis
+sql/share/korean
+sql/share/norwegian
+sql/share/norwegian-ny
+sql/share/polish
+sql/share/portuguese
+sql/share/romanian
+sql/share/russian
+sql/share/serbian
+sql/share/slovak
+sql/share/spanish
+sql/share/swedish
+sql/share/ukrainian
+libmysqld/examples/mysqltest.cc
+libmysqld/sql_signal.cc
+libmysqld/debug_sync.cc
+dbug/tests
+libmysqld/mdl.cc
+client/transaction.h
+libmysqld/transaction.cc
+libmysqld/sys_vars.cc
+libmysqld/keycaches.cc
+client/dtoa.c
+libmysqld/sql_audit.cc
+configure.am
+libmysqld/des_key_file.cc
+CPackConfig.cmake
+CPackSourceConfig.cmake
+make_dist.cmake
+client/echo
+libmysql/libmysql_exports_file.cc
+libmysql/merge_archives_mysqlclient.cmake
+libmysqld/merge_archives_mysqlserver.cmake
+libmysqld/mysqlserver_depends.c
+libmysqld/examples/mysql_embedded
+sql/dummy.bak
+mysys/thr_lock
+VERSION.dep
+info_macros.cmake
+Docs/INFO_BIN
+Docs/INFO_SRC
+Testing
+FilesCopied
+source_downloads

=== added file '.pc/.quilt_patches'
--- .pc/.quilt_patches	1970-01-01 00:00:00 +0000
+++ .pc/.quilt_patches	2016-09-14 12:24:46 +0000
@@ -0,0 +1,1 @@
+debian/patches

=== added file '.pc/.quilt_series'
--- .pc/.quilt_series	1970-01-01 00:00:00 +0000
+++ .pc/.quilt_series	2016-09-14 12:24:46 +0000
@@ -0,0 +1,1 @@
+series

=== added directory '.pc/33_scripts__mysql_create_system_tables__no_test.patch'
=== added directory '.pc/33_scripts__mysql_create_system_tables__no_test.patch/scripts'
=== added file '.pc/33_scripts__mysql_create_system_tables__no_test.patch/scripts/mysql_system_tables_data.sql'
--- .pc/33_scripts__mysql_create_system_tables__no_test.patch/scripts/mysql_system_tables_data.sql	1970-01-01 00:00:00 +0000
+++ .pc/33_scripts__mysql_create_system_tables__no_test.patch/scripts/mysql_system_tables_data.sql	2016-09-14 12:24:46 +0000
@@ -0,0 +1,55 @@
+-- Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+-- 
+-- This program is free software; you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation; version 2 of the License.
+-- 
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+-- 
+-- You should have received a copy of the GNU General Public License
+-- along with this program; if not, write to the Free Software
+-- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+
+--
+-- The inital data for system tables of MySQL Server
+--
+
+-- When setting up a "cross bootstrap" database (e.g., creating data on a Unix
+-- host which will later be included in a Windows zip file), any lines
+-- containing "@current_hostname" are filtered out by mysql_install_db.
+
+-- Get the hostname, if the hostname has any wildcard character like "_" or "%" 
+-- add escape character in front of wildcard character to convert "_" or "%" to
+-- a plain character
+SELECT LOWER( REPLACE((SELECT REPLACE(@@hostname,'_','\_')),'%','\%') )INTO @current_hostname;
+
+
+-- Fill "db" table with default grants for anyone to
+-- access database 'test' and 'test_%' if "db" table didn't exist
+CREATE TEMPORARY TABLE tmp_db LIKE db;
+INSERT INTO tmp_db VALUES ('%','test','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','N','N','Y','Y');
+INSERT INTO tmp_db VALUES ('%','test\_%','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','N','N','Y','Y');
+INSERT INTO db SELECT * FROM tmp_db WHERE @had_db_table=0;
+DROP TABLE tmp_db;
+
+
+-- Fill "user" table with default users allowing root access
+-- from local machine if "user" table didn't exist before
+CREATE TEMPORARY TABLE tmp_user LIKE user;
+INSERT INTO tmp_user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','');
+REPLACE INTO tmp_user SELECT @current_hostname,'root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','' FROM dual WHERE @current_hostname != 'localhost';
+REPLACE INTO tmp_user VALUES ('127.0.0.1','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','');
+REPLACE INTO tmp_user VALUES ('::1','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','');
+INSERT INTO tmp_user (host,user) VALUES ('localhost','');
+INSERT INTO tmp_user (host,user) SELECT @current_hostname,'' FROM dual WHERE @current_hostname != 'localhost';
+INSERT INTO user SELECT * FROM tmp_user WHERE @had_user_table=0;
+DROP TABLE tmp_user;
+
+CREATE TEMPORARY TABLE tmp_proxies_priv LIKE proxies_priv;
+INSERT INTO tmp_proxies_priv VALUES ('localhost', 'root', '', '', TRUE, '', now());
+REPLACE INTO tmp_proxies_priv SELECT @current_hostname, 'root', '', '', TRUE, '', now() FROM DUAL WHERE LOWER (@current_hostname) != 'localhost';
+INSERT INTO  proxies_priv SELECT * FROM tmp_proxies_priv WHERE @had_proxies_priv_table=0;
+DROP TABLE tmp_proxies_priv;

=== modified file '.pc/38_scripts__mysqld_safe.sh__signals.patch/scripts/mysqld_safe.sh'
--- .pc/38_scripts__mysqld_safe.sh__signals.patch/scripts/mysqld_safe.sh	2012-03-29 17:31:30 +0000
+++ .pc/38_scripts__mysqld_safe.sh__signals.patch/scripts/mysqld_safe.sh	2016-09-14 12:24:46 +0000
@@ -31,7 +31,28 @@
 
 trap '' 1 2 3 15			# we shouldn't let anyone kill us
 
-umask 007
+# MySQL-specific environment variable. First off, it's not really a umask,
+# it's the desired mode. Second, it follows umask(2), not umask(3) in that
+# octal needs to be explicit. Our shell might be a proper sh without printf,
+# multiple-base arithmetic, and binary arithmetic, so this will get ugly.
+# We reject decimal values to keep things at least half-sane.
+umask 007                               # fallback
+UMASK="${UMASK-0640}"
+fmode=`echo "$UMASK" | sed -e 's/[^0246]//g'`
+octalp=`echo "$fmode"|cut -c1`
+fmlen=`echo "$fmode"|wc -c|sed -e 's/ //g'`
+if [ "x$octalp" != "x0" -o "x$UMASK" != "x$fmode" -o "x$fmlen" != "x5" ]
+then
+  fmode=0640
+  echo "UMASK must be a 3-digit mode with an additional leading 0 to indicate octal." >&2
+  echo "The first digit will be corrected to 6, the others may be 0, 2, 4, or 6." >&2
+fi
+fmode=`echo "$fmode"|cut -c3-4`
+fmode="6$fmode"
+if [ "x$UMASK" != "x0$fmode" ]
+then
+  echo "UMASK corrected from $UMASK to 0$fmode ..."
+fi
 
 defaults=
 case "$1" in
@@ -187,8 +208,17 @@
       --core-file-size=*) core_file_size="$val" ;;
       --ledir=*) ledir="$val" ;;
       --malloc-lib=*) set_malloc_lib "$val" ;;
-      --mysqld=*) MYSQLD="$val" ;;
+      --mysqld=*)
+        if [ -z "$pick_args" ]; then
+          log_error "--mysqld option can only be used as command line option, found in config file"
+          exit 1
+        fi
+        MYSQLD="$val" ;;
       --mysqld-version=*)
+        if [ -z "$pick_args" ]; then
+          log_error "--mysqld-version option can only be used as command line option, found in config file"
+          exit 1
+        fi
         if test -n "$val"
         then
           MYSQLD="mysqld-$val"
@@ -276,38 +306,22 @@
   echo "$text"
 }
 
-
-mysql_config=
-get_mysql_config() {
-  if [ -z "$mysql_config" ]; then
-    mysql_config=`echo "$0" | sed 's,/[^/][^/]*$,/mysql_config,'`
-    if [ ! -x "$mysql_config" ]; then
-      log_error "Can not run mysql_config $@ from '$mysql_config'"
-      exit 1
-    fi
-  fi
-
-  "$mysql_config" "$@"
-}
-
-
 # set_malloc_lib LIB
 # - If LIB is empty, do nothing and return
-# - If LIB is 'tcmalloc', look for tcmalloc shared library in /usr/lib
-#   then pkglibdir.  tcmalloc is part of the Google perftools project.
+# - If LIB is 'tcmalloc', look for tcmalloc shared library in $malloc_dirs.
+#   tcmalloc is part of the Google perftools project.
 # - If LIB is an absolute path, assume it is a malloc shared library
 #
 # Put LIB in mysqld_ld_preload, which will be added to LD_PRELOAD when
 # running mysqld.  See ld.so for details.
 set_malloc_lib() {
+  # This list is kept intentionally simple.
+  malloc_dirs="/usr/lib /usr/lib64 /usr/lib/i386-linux-gnu /usr/lib/x86_64-linux-gnu"
   malloc_lib="$1"
 
   if [ "$malloc_lib" = tcmalloc ]; then
-    pkglibdir=`get_mysql_config --variable=pkglibdir`
     malloc_lib=
-    # This list is kept intentionally simple.  Simply set --malloc-lib
-    # to a full path if another location is desired.
-    for libdir in /usr/lib "$pkglibdir" "$pkglibdir/mysql"; do
+    for libdir in `echo $malloc_dirs`; do
       for flavor in _minimal '' _and_profiler _debug; do
         tmp="$libdir/libtcmalloc$flavor.so"
         #log_notice "DEBUG: Checking for malloc lib '$tmp'"
@@ -318,7 +332,7 @@
     done
 
     if [ -z "$malloc_lib" ]; then
-      log_error "no shared library for --malloc-lib=tcmalloc found in /usr/lib or $pkglibdir"
+      log_error "no shared library for --malloc-lib=tcmalloc found in $malloc_dirs"
       exit 1
     fi
   fi
@@ -329,9 +343,21 @@
   case "$malloc_lib" in
     /*)
       if [ ! -r "$malloc_lib" ]; then
-        log_error "--malloc-lib '$malloc_lib' can not be read and will not be used"
+        log_error "--malloc-lib can not be read and will not be used"
         exit 1
       fi
+
+      # Restrict to a the list in $malloc_dirs above
+      case "`dirname "$malloc_lib"`" in
+        /usr/lib) ;;
+        /usr/lib64) ;;
+        /usr/lib/i386-linux-gnu) ;;
+        /usr/lib/x86_64-linux-gnu) ;;
+        *)
+          log_error "--malloc-lib must be located in one of the directories: $malloc_dirs"
+          exit 1
+          ;;
+      esac
       ;;
     *)
       log_error "--malloc-lib must be an absolute path or 'tcmalloc'; " \
@@ -413,29 +439,6 @@
   DATADIR=@localstatedir@
 fi
 
-#
-# Try to find the plugin directory
-#
-
-# Use user-supplied argument
-if [ -n "${PLUGIN_DIR}" ]; then
-  plugin_dir="${PLUGIN_DIR}"
-else
-  # Try to find plugin dir relative to basedir
-  for dir in lib/mysql/plugin lib/plugin
-  do
-    if [ -d "${MY_BASEDIR_VERSION}/${dir}" ]; then
-      plugin_dir="${MY_BASEDIR_VERSION}/${dir}"
-      break
-    fi
-  done
-  # Give up and use compiled-in default
-  if [ -z "${plugin_dir}" ]; then
-    plugin_dir='@pkgplugindir@'
-  fi
-fi
-plugin_dir="${plugin_dir}${PLUGIN_VARIANT}"
-
 if test -z "$MYSQL_HOME"
 then 
   if test -r "$MY_BASEDIR_VERSION/my.cnf" && test -r "$DATADIR/my.cnf"
@@ -496,6 +499,30 @@
 parse_arguments `$print_defaults $defaults --loose-verbose mysqld_safe safe_mysqld`
 parse_arguments PICK-ARGS-FROM-ARGV "$@"
 
+
+#
+# Try to find the plugin directory
+#
+
+# Use user-supplied argument
+if [ -n "${PLUGIN_DIR}" ]; then
+  plugin_dir="${PLUGIN_DIR}"
+else
+  # Try to find plugin dir relative to basedir
+  for dir in lib64/mysql/plugin lib64/plugin lib/mysql/plugin lib/plugin
+  do
+    if [ -d "${MY_BASEDIR_VERSION}/${dir}" ]; then
+      plugin_dir="${MY_BASEDIR_VERSION}/${dir}"
+      break
+    fi
+  done
+  # Give up and use compiled-in default
+  if [ -z "${plugin_dir}" ]; then
+    plugin_dir='@pkgplugindir@'
+  fi
+fi
+plugin_dir="${plugin_dir}${PLUGIN_VARIANT}"
+
 # Determine what logging facility to use
 
 # Ensure that 'logger' exists, if it's requested
@@ -519,6 +546,7 @@
 
     # mysqld does not add ".err" to "--log-error=foo."; it considers a
     # trailing "." as an extension
+    
     if expr "$err_log" : '.*\.[^/]*$' > /dev/null
     then
         :
@@ -545,6 +573,12 @@
   # Log to err_log file
   log_notice "Logging to '$err_log'."
   logging=file
+
+  if [ ! -f "$err_log" -a ! -h "$err_log" ]; then # if error log already exists,
+    touch "$err_log"                            # we just append. otherwise,
+    chmod "$fmode" "$err_log"                   # fix the permissions here!
+  fi
+
 else
   if [ -n "$syslog_tag" ]
   then
@@ -565,7 +599,7 @@
     USER_OPTION="--user=$user"
   fi
   # Change the err log to the right user, if it is in use
-  if [ $want_syslog -eq 0 ]; then
+  if [ $want_syslog -eq 0 -a ! -h "$err_log" ]; then
     touch "$err_log"
     chown $user "$err_log"
   fi
@@ -585,9 +619,11 @@
 mysql_unix_port_dir=`dirname $safe_mysql_unix_port`
 if [ ! -d $mysql_unix_port_dir ]
 then
-  mkdir $mysql_unix_port_dir
-  chown $user $mysql_unix_port_dir
-  chmod 755 $mysql_unix_port_dir
+  if [ ! -h $mysql_unix_port_dir ]; then
+    mkdir $mysql_unix_port_dir
+    chown $user $mysql_unix_port_dir
+    chmod 755 $mysql_unix_port_dir
+  fi
 fi
 
 # If the user doesn't specify a binary, we assume name "mysqld"
@@ -699,7 +735,9 @@
       exit 1
     fi
   fi
-  rm -f "$pid_file"
+  if [ ! -h "$pid_file" ]; then
+      rm -f "$pid_file"
+  fi
   if test -f "$pid_file"
   then
     log_error "Fatal error: Can't remove the pid file:
@@ -750,12 +788,24 @@
 
 while true
 do
-  rm -f $safe_mysql_unix_port "$pid_file"	# Some extra safety
+  # Some extra safety
+  if [ ! -h "$safe_mysql_unix_port" ]; then
+    rm -f "$safe_mysql_unix_port"
+  fi
+  if [ ! -h "$pid_file" ]; then
+    rm -f "$pid_file"
+  fi
 
   start_time=`date +%M%S`
 
   eval_log_error "$cmd"
 
+  if [ $want_syslog -eq 0 -a ! -f "$err_log" -a ! -h "$err_log" ]; then
+    touch "$err_log"                    # hypothetical: log was renamed but not
+    chown $user "$err_log"              # flushed yet. we'd recreate it with
+    chmod "$fmode" "$err_log"           # wrong owner next time we log, so set
+  fi                                    # it up correctly while we can!
+
   end_time=`date +%M%S`
 
   if test ! -f "$pid_file"		# This is removed if normal shutdown

=== added directory '.pc/41_scripts__mysql_install_db.sh__no_test.patch'
=== added directory '.pc/41_scripts__mysql_install_db.sh__no_test.patch/scripts'
=== added file '.pc/41_scripts__mysql_install_db.sh__no_test.patch/scripts/mysql_install_db.sh'
--- .pc/41_scripts__mysql_install_db.sh__no_test.patch/scripts/mysql_install_db.sh	1970-01-01 00:00:00 +0000
+++ .pc/41_scripts__mysql_install_db.sh__no_test.patch/scripts/mysql_install_db.sh	2016-09-14 12:24:46 +0000
@@ -0,0 +1,485 @@
+#!/bin/sh
+# Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+# 
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+# This scripts creates the MySQL Server system tables
+#
+# All unrecognized arguments to this script are passed to mysqld.
+
+basedir=""
+builddir=""
+ldata="@localstatedir@"
+langdir=""
+srcdir=""
+
+args=""
+defaults=""
+mysqld_opt=""
+user=""
+
+force=0
+in_rpm=0
+ip_only=0
+cross_bootstrap=0
+
+usage()
+{
+  cat <<EOF
+Usage: $0 [OPTIONS]
+  --basedir=path       The path to the MySQL installation directory.
+  --builddir=path      If using --srcdir with out-of-directory builds, you
+                       will need to set this to the location of the build
+                       directory where built files reside.
+  --cross-bootstrap    For internal use.  Used when building the MySQL system
+                       tables on a different host than the target.
+  --datadir=path       The path to the MySQL data directory.
+  --defaults-extra-file=name
+                       Read this file after the global files are read.
+  --defaults-file=name Only read default options from the given file name.
+  --force              Causes mysql_install_db to run even if DNS does not
+                       work.  In that case, grant table entries that
+                       normally use hostnames will use IP addresses.
+  --help               Display this help and exit.                     
+  --ldata=path         The path to the MySQL data directory. Same as --datadir.
+  --no-defaults        Don't read default options from any option file.
+  --rpm                For internal use.  This option is used by RPM files
+                       during the MySQL installation process.
+  --skip-name-resolve  Use IP addresses rather than hostnames when creating
+                       grant table entries.  This option can be useful if
+                       your DNS does not work.
+  --srcdir=path        The path to the MySQL source directory.  This option
+                       uses the compiled binaries and support files within the
+                       source tree, useful for if you don't want to install
+                       MySQL yet and just want to create the system tables.
+  --user=user_name     The login username to use for running mysqld.  Files
+                       and directories created by mysqld will be owned by this
+                       user.  You must be root to use this option.  By default
+                       mysqld runs using your current login name and files and
+                       directories that it creates will be owned by you.
+
+All other options are passed to the mysqld program
+
+EOF
+  exit 1
+}
+
+s_echo()
+{
+  if test "$in_rpm" -eq 0 -a "$cross_bootstrap" -eq 0
+  then
+    echo "$1"
+  fi
+}
+
+parse_arg()
+{
+  echo "$1" | sed -e 's/^[^=]*=//'
+}
+
+parse_arguments()
+{
+  # We only need to pass arguments through to the server if we don't
+  # handle them here.  So, we collect unrecognized options (passed on
+  # the command line) into the args variable.
+  pick_args=
+  if test "$1" = PICK-ARGS-FROM-ARGV
+  then
+    pick_args=1
+    shift
+  fi
+
+  for arg
+  do
+    case "$arg" in
+      --force) force=1 ;;
+      --basedir=*) basedir=`parse_arg "$arg"` ;;
+      --builddir=*) builddir=`parse_arg "$arg"` ;;
+      --srcdir=*)  srcdir=`parse_arg "$arg"` ;;
+      --ldata=*|--datadir=*) ldata=`parse_arg "$arg"` ;;
+      --user=*)
+        # Note that the user will be passed to mysqld so that it runs
+        # as 'user' (crucial e.g. if log-bin=/some_other_path/
+        # where a chown of datadir won't help)
+        user=`parse_arg "$arg"` ;;
+      --skip-name-resolve) ip_only=1 ;;
+      --verbose) verbose=1 ;; # Obsolete
+      --rpm) in_rpm=1 ;;
+      --help) usage ;;
+      --no-defaults|--defaults-file=*|--defaults-extra-file=*)
+        defaults="$arg" ;;
+
+      --cross-bootstrap|--windows)
+        # Used when building the MySQL system tables on a different host than
+        # the target. The platform-independent files that are created in
+        # --datadir on the host can be copied to the target system.
+        #
+        # The most common use for this feature is in the Windows installer
+        # which will take the files from datadir and include them as part of
+        # the install package.  See top-level 'dist-hook' make target.
+        #
+        # --windows is a deprecated alias
+        cross_bootstrap=1 ;;
+
+      *)
+        if test -n "$pick_args"
+        then
+          # This sed command makes sure that any special chars are quoted,
+          # so the arg gets passed exactly to the server.
+          # XXX: This is broken; true fix requires using eval and proper
+          # quoting of every single arg ($basedir, $ldata, etc.)
+          #args="$args "`echo "$arg" | sed -e 's,\([^a-zA-Z0-9_.-]\),\\\\\1,g'`
+          args="$args $arg"
+        fi
+        ;;
+    esac
+  done
+}
+
+# Try to find a specific file within --basedir which can either be a binary
+# release or installed source directory and return the path.
+find_in_basedir()
+{
+  case "$1" in
+    --dir)
+      return_dir=1; shift
+      ;;
+  esac
+
+  file=$1; shift
+
+  for dir in "$@"
+  do
+    if test -f "$basedir/$dir/$file"
+    then
+      if test -n "$return_dir"
+      then
+        echo "$basedir/$dir"
+      else
+        echo "$basedir/$dir/$file"
+      fi
+      break
+    fi
+  done
+}
+
+cannot_find_file()
+{
+  echo
+  echo "FATAL ERROR: Could not find $1"
+
+  shift
+  if test $# -ne 0
+  then
+    echo
+    echo "The following directories were searched:"
+    echo
+    for dir in "$@"
+    do
+      echo "    $dir"
+    done
+  fi
+
+  echo
+  echo "If you compiled from source, you need to run 'make install' to"
+  echo "copy the software into the correct location ready for operation."
+  echo
+  echo "If you are using a binary release, you must either be at the top"
+  echo "level of the extracted archive, or pass the --basedir option"
+  echo "pointing to that location."
+  echo
+}
+
+# Ok, let's go.  We first need to parse arguments which are required by
+# my_print_defaults so that we can execute it first, then later re-parse
+# the command line to add any extra bits that we need.
+parse_arguments PICK-ARGS-FROM-ARGV "$@"
+
+#
+# We can now find my_print_defaults.  This script supports:
+#
+#   --srcdir=path pointing to compiled source tree
+#   --basedir=path pointing to installed binary location
+#
+# or default to compiled-in locations.
+#
+if test -n "$srcdir" && test -n "$basedir"
+then
+  echo "ERROR: Specify either --basedir or --srcdir, not both."
+  exit 1
+fi
+if test -n "$srcdir"
+then
+  if test -z "$builddir"
+  then
+    builddir="$srcdir"
+  fi
+  print_defaults="$builddir/extra/my_print_defaults"
+elif test -n "$basedir"
+then
+  print_defaults=`find_in_basedir my_print_defaults bin extra`
+  if test -z "$print_defaults"
+  then
+    cannot_find_file my_print_defaults $basedir/bin $basedir/extra
+    exit 1
+  fi
+else
+  print_defaults="@bindir@/my_print_defaults"
+fi
+
+if test ! -x "$print_defaults"
+then
+  cannot_find_file "$print_defaults"
+  exit 1
+fi
+
+# Now we can get arguments from the groups [mysqld] and [mysql_install_db]
+# in the my.cfg file, then re-run to merge with command line arguments.
+parse_arguments `$print_defaults $defaults mysqld mysql_install_db`
+parse_arguments PICK-ARGS-FROM-ARGV "$@"
+
+# Configure paths to support files
+if test -n "$srcdir"
+then
+  basedir="$builddir"
+  bindir="$basedir/client"
+  extra_bindir="$basedir/extra"
+  mysqld="$basedir/sql/mysqld"
+  langdir="$srcdir/sql/share/english"
+  pkgdatadir="$srcdir/scripts"
+  scriptdir="$srcdir/scripts"
+elif test -n "$basedir"
+then
+  bindir="$basedir/bin"
+  extra_bindir="$bindir"
+  mysqld=`find_in_basedir mysqld libexec sbin bin`
+  if test -z "$mysqld"
+  then
+    cannot_find_file mysqld $basedir/libexec $basedir/sbin $basedir/bin
+    exit 1
+  fi
+  langdir=`find_in_basedir --dir errmsg.sys share/english share/mysql/english`
+  if test -z "$langdir"
+  then
+    cannot_find_file errmsg.sys $basedir/share/english $basedir/share/mysql/english
+    exit 1
+  fi
+  pkgdatadir=`find_in_basedir --dir fill_help_tables.sql share share/mysql`
+  if test -z "$pkgdatadir"
+  then
+    cannot_find_file fill_help_tables.sql $basedir/share $basedir/share/mysql
+    exit 1
+  fi
+  scriptdir="$basedir/scripts"
+else
+  basedir="@prefix@"
+  bindir="@bindir@"
+  extra_bindir="$bindir"
+  mysqld="@libexecdir@/mysqld"
+  pkgdatadir="@pkgdatadir@"
+  scriptdir="@scriptdir@"
+fi
+
+# Set up paths to SQL scripts required for bootstrap
+fill_help_tables="$pkgdatadir/fill_help_tables.sql"
+create_system_tables="$pkgdatadir/mysql_system_tables.sql"
+fill_system_tables="$pkgdatadir/mysql_system_tables_data.sql"
+
+for f in $fill_help_tables $create_system_tables $fill_system_tables
+do
+  if test ! -f "$f"
+  then
+    cannot_find_file "$f"
+    exit 1
+  fi
+done
+
+if test ! -x "$mysqld"
+then
+  cannot_find_file "$mysqld"
+  exit 1
+fi
+
+if test -n "$langdir"
+then
+  if test ! -f "$langdir/errmsg.sys"
+  then
+    cannot_find_file "$langdir/errmsg.sys"
+    exit 1
+  fi
+  mysqld_opt="--lc-messages-dir=$langdir/.."
+fi
+
+# Try to determine the hostname
+hostname=`@HOSTNAME@`
+
+# Check if hostname is valid
+if test "$cross_bootstrap" -eq 0 -a "$in_rpm" -eq 0 -a "$force" -eq 0
+then
+  resolved=`$extra_bindir/resolveip $hostname 2>&1`
+  if test $? -ne 0
+  then
+    resolved=`$extra_bindir/resolveip localhost 2>&1`
+    if test $? -ne 0
+    then
+      echo "Neither host '$hostname' nor 'localhost' could be looked up with"
+      echo "$extra_bindir/resolveip"
+      echo "Please configure the 'hostname' command to return a correct"
+      echo "hostname."
+      echo "If you want to solve this at a later stage, restart this script"
+      echo "with the --force option"
+      exit 1
+    fi
+    echo "WARNING: The host '$hostname' could not be looked up with resolveip."
+    echo "This probably means that your libc libraries are not 100 % compatible"
+    echo "with this binary MySQL version. The MySQL daemon, mysqld, should work"
+    echo "normally with the exception that host name resolving will not work."
+    echo "This means that you should use IP addresses instead of hostnames"
+    echo "when specifying MySQL privileges !"
+  fi
+fi
+
+if test "$ip_only" -eq 1
+then
+  hostname=`echo "$resolved" | awk '/ /{print $6}'`
+fi
+
+# Create database directories
+for dir in $ldata $ldata/mysql $ldata/test
+do
+  if test ! -d $dir
+  then
+    mkdir -p $dir
+    chmod 700 $dir
+  fi
+  if test -n "$user"
+  then
+    chown $user $dir
+    if test $? -ne 0
+    then
+      echo "Cannot change ownership of the database directories to the '$user'"
+      echo "user.  Check that you have the necessary permissions and try again."
+      exit 1
+    fi
+  fi
+done
+
+if test -n "$user"
+then
+  args="$args --user=$user"
+fi
+
+# When doing a "cross bootstrap" install, no reference to the current
+# host should be added to the system tables.  So we filter out any
+# lines which contain the current host name.
+if test $cross_bootstrap -eq 1
+then
+  filter_cmd_line="sed -e '/@current_hostname/d'"
+else
+  filter_cmd_line="cat"
+fi
+
+# Configure mysqld command line
+mysqld_bootstrap="${MYSQLD_BOOTSTRAP-$mysqld}"
+mysqld_install_cmd_line="$mysqld_bootstrap $defaults $mysqld_opt --bootstrap \
+  --basedir=$basedir --datadir=$ldata --log-warnings=0 --loose-skip-innodb \
+  --loose-skip-ndbcluster $args --max_allowed_packet=8M \
+  --default-storage-engine=myisam \
+  --net_buffer_length=16K"
+
+# Create the system and help tables by passing them to "mysqld --bootstrap"
+s_echo "Installing MySQL system tables..."
+if { echo "use mysql;"; cat $create_system_tables $fill_system_tables; } | eval "$filter_cmd_line" | $mysqld_install_cmd_line > /dev/null
+then
+  s_echo "OK"
+else
+  echo
+  echo "Installation of system tables failed!  Examine the logs in"
+  echo "$ldata for more information."
+  echo
+  echo "You can try to start the mysqld daemon with:"
+  echo
+  echo "    shell> $mysqld --skip-grant &"
+  echo
+  echo "and use the command line tool $bindir/mysql"
+  echo "to connect to the mysql database and look at the grant tables:"
+  echo
+  echo "    shell> $bindir/mysql -u root mysql"
+  echo "    mysql> show tables"
+  echo
+  echo "Try 'mysqld --help' if you have problems with paths.  Using --log"
+  echo "gives you a log in $ldata that may be helpful."
+  echo
+  echo "Please consult the MySQL manual section"
+  echo "'Problems running mysql_install_db', and the manual section that"
+  echo "describes problems on your OS.  Another information source are the"
+  echo "MySQL email archives available at http://lists.mysql.com/."
+  echo
+  echo "Please check all of the above before submitting a bug report"
+  echo "at http://bugs.mysql.com/"
+  echo
+  exit 1
+fi
+
+s_echo "Filling help tables..."
+if { echo "use mysql;"; cat $fill_help_tables; } | $mysqld_install_cmd_line > /dev/null
+then
+  s_echo "OK"
+else
+  echo
+  echo "WARNING: HELP FILES ARE NOT COMPLETELY INSTALLED!"
+  echo "The \"HELP\" command might not work properly."
+fi
+
+# Don't output verbose information if running inside bootstrap or using
+# --srcdir for testing.  In such cases, there's no end user looking at
+# the screen.
+if test "$cross_bootstrap" -eq 0 && test -z "$srcdir"
+then
+  s_echo
+  s_echo "To start mysqld at boot time you have to copy"
+  s_echo "support-files/mysql.server to the right place for your system"
+
+  echo
+  echo "PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !"
+  echo "To do so, start the server, then issue the following commands:"
+  echo
+  echo "$bindir/mysqladmin -u root password 'new-password'"
+  echo "$bindir/mysqladmin -u root -h $hostname password 'new-password'"
+  echo
+  echo "Alternatively you can run:"
+  echo "$bindir/mysql_secure_installation"
+  echo
+  echo "which will also give you the option of removing the test"
+  echo "databases and anonymous user created by default.  This is"
+  echo "strongly recommended for production servers."
+  echo
+  echo "See the manual for more instructions."
+
+  if test "$in_rpm" -eq 0
+  then
+    echo
+    echo "You can start the MySQL daemon with:"
+    echo "cd $basedir ; $bindir/mysqld_safe &"
+    echo
+    echo "You can test the MySQL daemon with mysql-test-run.pl"
+    echo "cd $basedir/mysql-test ; perl mysql-test-run.pl"
+  fi
+
+  echo
+  echo "Please report any problems at http://bugs.mysql.com/"
+  echo
+fi
+
+exit 0

=== added directory '.pc/50_mysql-test__db_test.patch'
=== added directory '.pc/50_mysql-test__db_test.patch/mysql-test'
=== added file '.pc/50_mysql-test__db_test.patch/mysql-test/mysql-test-run.pl'
--- .pc/50_mysql-test__db_test.patch/mysql-test/mysql-test-run.pl	1970-01-01 00:00:00 +0000
+++ .pc/50_mysql-test__db_test.patch/mysql-test/mysql-test-run.pl	2016-09-14 12:24:46 +0000
@@ -0,0 +1,6375 @@
+#!/usr/bin/perl
+# -*- cperl -*-
+
+# Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+#
+##############################################################################
+#
+#  mysql-test-run.pl
+#
+#  Tool used for executing a suite of .test files
+#
+#  See the "MySQL Test framework manual" for more information
+#  http://dev.mysql.com/doc/mysqltest/en/index.html
+#
+#
+##############################################################################
+
+use strict;
+use warnings;
+
+BEGIN {
+  # Check that mysql-test-run.pl is started from mysql-test/
+  unless ( -f "mysql-test-run.pl" )
+  {
+    print "**** ERROR **** ",
+      "You must start mysql-test-run from the mysql-test/ directory\n";
+    exit(1);
+  }
+  # Check that lib exist
+  unless ( -d "lib/" )
+  {
+    print "**** ERROR **** ",
+      "Could not find the lib/ directory \n";
+    exit(1);
+  }
+}
+
+BEGIN {
+  # Check backward compatibility support
+  # By setting the environment variable MTR_VERSION
+  # it's possible to use a previous version of
+  # mysql-test-run.pl
+  my $version= $ENV{MTR_VERSION} || 2;
+  if ( $version == 1 )
+  {
+    print "=======================================================\n";
+    print "  WARNING: Using mysql-test-run.pl version 1!  \n";
+    print "=======================================================\n";
+    # Should use exec() here on *nix but this appears not to work on Windows
+    exit(system($^X, "lib/v1/mysql-test-run.pl", @ARGV) >> 8);
+  }
+  elsif ( $version == 2 )
+  {
+    # This is the current version, just continue
+    ;
+  }
+  else
+  {
+    print "ERROR: Version $version of mysql-test-run does not exist!\n";
+    exit(1);
+  }
+}
+
+use lib "lib";
+
+use Cwd;
+use Getopt::Long;
+use My::File::Path; # Patched version of File::Path
+use File::Basename;
+use File::Copy;
+use File::Find;
+use File::Temp qw/tempdir/;
+use File::Spec::Functions qw/splitdir/;
+use My::Platform;
+use My::SafeProcess;
+use My::ConfigFactory;
+use My::Options;
+use My::Find;
+use My::SysInfo;
+use My::CoreDump;
+use mtr_cases;
+use mtr_report;
+use mtr_match;
+use mtr_unique;
+use mtr_results;
+use IO::Socket::INET;
+use IO::Select;
+
+require "lib/mtr_process.pl";
+require "lib/mtr_io.pl";
+require "lib/mtr_gcov.pl";
+require "lib/mtr_gprof.pl";
+require "lib/mtr_misc.pl";
+
+$SIG{INT}= sub { mtr_error("Got ^C signal"); };
+
+our $mysql_version_id;
+my $mysql_version_extra;
+our $glob_mysql_test_dir;
+our $basedir;
+our $bindir;
+
+our $path_charsetsdir;
+our $path_client_bindir;
+our $path_client_libdir;
+our $path_language;
+
+our $path_current_testlog;
+our $path_testlog;
+
+our $default_vardir;
+our $opt_vardir;                # Path to use for var/ dir
+my $path_vardir_trace;          # unix formatted opt_vardir for trace files
+my $opt_tmpdir;                 # Path to use for tmp/ dir
+my $opt_tmpdir_pid;
+
+my $opt_start;
+my $opt_start_dirty;
+my $opt_start_exit;
+my $start_only;
+
+my $auth_plugin;                # the path to the authentication test plugin
+
+END {
+  if ( defined $opt_tmpdir_pid and $opt_tmpdir_pid == $$ )
+  {
+    if (!$opt_start_exit)
+    {
+      # Remove the tempdir this process has created
+      mtr_verbose("Removing tmpdir $opt_tmpdir");
+      rmtree($opt_tmpdir);
+    }
+    else
+    {
+      mtr_warning("tmpdir $opt_tmpdir should be removed after the server has finished");
+    }
+  }
+}
+
+sub env_or_val($$) { defined $ENV{$_[0]} ? $ENV{$_[0]} : $_[1] }
+
+my $path_config_file;           # The generated config file, var/my.cnf
+
+# Visual Studio produces executables in different sub-directories based on the
+# configuration used to build them.  To make life easier, an environment
+# variable or command-line option may be specified to control which set of
+# executables will be used by the test suite.
+our $opt_vs_config = $ENV{'MTR_VS_CONFIG'};
+
+# If you add a new suite, please check TEST_DIRS in Makefile.am.
+#
+my $DEFAULT_SUITES= "main,sys_vars,binlog,federated,rpl,innodb,innodb_zip,perfschema";
+my $opt_suites;
+
+our $opt_verbose= 0;  # Verbose output, enable with --verbose
+our $exe_mysql;
+our $exe_mysql_plugin;
+our $exe_mysqladmin;
+our $exe_mysqltest;
+our $exe_libtool;
+our $exe_mysql_embedded;
+
+our $opt_big_test= 0;
+
+our @opt_combinations;
+
+our @opt_extra_mysqld_opt;
+our @opt_mysqld_envs;
+
+my $opt_stress;
+
+my $opt_compress;
+my $opt_ssl;
+my $opt_skip_ssl;
+my @opt_skip_test_list;
+our $opt_ssl_supported;
+my $opt_ps_protocol;
+my $opt_sp_protocol;
+my $opt_cursor_protocol;
+my $opt_view_protocol;
+
+our $opt_debug;
+my $debug_d= "d";
+my $opt_debug_common;
+our $opt_debug_server;
+our @opt_cases;                  # The test cases names in argv
+our $opt_embedded_server;
+# -1 indicates use default, override with env.var.
+our $opt_ctest= env_or_val(MTR_UNIT_TESTS => -1);
+our $opt_ctest_report;
+# Unit test report stored here for delayed printing
+my $ctest_report;
+
+# Options used when connecting to an already running server
+my %opts_extern;
+sub using_extern { return (keys %opts_extern > 0);};
+
+our $opt_fast= 0;
+our $opt_force;
+our $opt_mem= $ENV{'MTR_MEM'};
+our $opt_clean_vardir= $ENV{'MTR_CLEAN_VARDIR'};
+
+our $opt_gcov;
+our $opt_gcov_exe= "gcov";
+our $opt_gcov_err= "mysql-test-gcov.err";
+our $opt_gcov_msg= "mysql-test-gcov.msg";
+
+our $opt_gprof;
+our %gprof_dirs;
+
+our $glob_debugger= 0;
+our $opt_gdb;
+our $opt_client_gdb;
+my $opt_boot_gdb;
+our $opt_dbx;
+our $opt_client_dbx;
+my $opt_boot_dbx;
+our $opt_ddd;
+our $opt_client_ddd;
+my $opt_boot_ddd;
+our $opt_manual_gdb;
+our $opt_manual_lldb;
+our $opt_manual_dbx;
+our $opt_manual_ddd;
+our $opt_manual_debug;
+our $opt_debugger;
+our $opt_client_debugger;
+
+my $config; # The currently running config
+my $current_config_name; # The currently running config file template
+
+our @opt_experimentals;
+our $experimental_test_cases= [];
+
+my $baseport;
+# $opt_build_thread may later be set from $opt_port_base
+my $opt_build_thread= $ENV{'MTR_BUILD_THREAD'} || "auto";
+my $opt_port_base= $ENV{'MTR_PORT_BASE'} || "auto";
+my $build_thread= 0;
+
+my $opt_record;
+my $opt_report_features;
+
+our $opt_resfile= $ENV{'MTR_RESULT_FILE'} || 0;
+
+my $opt_skip_core;
+
+our $opt_check_testcases= 1;
+my $opt_mark_progress;
+my $opt_max_connections;
+our $opt_report_times= 0;
+
+my $opt_sleep;
+
+my $opt_testcase_timeout= $ENV{MTR_TESTCASE_TIMEOUT} ||  15; # minutes
+my $opt_suite_timeout   = $ENV{MTR_SUITE_TIMEOUT}    || 300; # minutes
+my $opt_shutdown_timeout= $ENV{MTR_SHUTDOWN_TIMEOUT} ||  10; # seconds
+my $opt_start_timeout   = $ENV{MTR_START_TIMEOUT}    || 180; # seconds
+
+sub suite_timeout { return $opt_suite_timeout * 60; };
+
+my $opt_wait_all;
+my $opt_user_args;
+my $opt_repeat= 1;
+my $opt_retry= 3;
+my $opt_retry_failure= env_or_val(MTR_RETRY_FAILURE => 2);
+my $opt_reorder= 1;
+my $opt_force_restart= 0;
+
+my $opt_strace_client;
+my $opt_strace_server;
+
+our $opt_user = "root";
+
+our $opt_valgrind= 0;
+my $opt_valgrind_mysqld= 0;
+my $opt_valgrind_mysqltest= 0;
+my @default_valgrind_args= ("--show-reachable=yes");
+my @valgrind_args;
+my $opt_valgrind_path;
+my $valgrind_reports= 0;
+my $opt_callgrind;
+my %mysqld_logs;
+my $opt_debug_sync_timeout= 300; # Default timeout for WAIT_FOR actions.
+
+sub testcase_timeout ($) {
+  my ($tinfo)= @_;
+  if (exists $tinfo->{'case-timeout'}) {
+    # Return test specific timeout if *longer* that the general timeout
+    my $test_to= $tinfo->{'case-timeout'};
+    $test_to*= 10 if $opt_valgrind;
+    return $test_to * 60 if $test_to > $opt_testcase_timeout;
+  }
+  return $opt_testcase_timeout * 60;
+}
+
+sub check_timeout ($) { return testcase_timeout($_[0]) / 10; }
+
+our $opt_warnings= 1;
+
+our $ndbcluster_enabled= 0;
+my $opt_include_ndbcluster= 0;
+my $opt_skip_ndbcluster= 0;
+
+my $exe_ndbd;
+my $exe_ndbmtd;
+my $exe_ndb_mgmd;
+my $exe_ndb_waiter;
+my $exe_ndb_mgm;
+
+our $debug_compiled_binaries;
+
+our %mysqld_variables;
+
+my $source_dist= 0;
+
+my $opt_max_save_core= env_or_val(MTR_MAX_SAVE_CORE => 5);
+my $opt_max_save_datadir= env_or_val(MTR_MAX_SAVE_DATADIR => 20);
+my $opt_max_test_fail= env_or_val(MTR_MAX_TEST_FAIL => 10);
+
+my $opt_parallel= $ENV{MTR_PARALLEL} || 1;
+
+select(STDOUT);
+$| = 1; # Automatically flush STDOUT
+
+main();
+
+
+sub main {
+  # Default, verbosity on
+  report_option('verbose', 0);
+
+  # This is needed for test log evaluation in "gen-build-status-page"
+  # in all cases where the calling tool does not log the commands
+  # directly before it executes them, like "make test-force-pl" in RPM builds.
+  mtr_report("Logging: $0 ", join(" ", @ARGV));
+
+  command_line_setup();
+
+  # --help will not reach here, so now it's safe to assume we have binaries
+  My::SafeProcess::find_bin();
+
+  if ( $opt_gcov ) {
+    gcov_prepare($basedir);
+  }
+
+  if (!$opt_suites) {
+    $opt_suites= $DEFAULT_SUITES;
+  }
+  mtr_report("Using suites: $opt_suites") unless @opt_cases;
+
+  init_timers();
+
+  mtr_report("Collecting tests...");
+  my $tests= collect_test_cases($opt_reorder, $opt_suites, \@opt_cases, \@opt_skip_test_list);
+  mark_time_used('collect');
+
+  if ( $opt_report_features ) {
+    # Put "report features" as the first test to run
+    my $tinfo = My::Test->new
+      (
+       name           => 'report_features',
+       # No result_file => Prints result
+       path           => 'include/report-features.test',
+       template_path  => "include/default_my.cnf",
+       master_opt     => [],
+       slave_opt      => [],
+      );
+    unshift(@$tests, $tinfo);
+  }
+
+  initialize_servers();
+
+  #######################################################################
+  my $num_tests= @$tests;
+  if ( $opt_parallel eq "auto" ) {
+    # Try to find a suitable value for number of workers
+    my $sys_info= My::SysInfo->new();
+
+    $opt_parallel= $sys_info->num_cpus();
+    for my $limit (2000, 1500, 1000, 500){
+      $opt_parallel-- if ($sys_info->min_bogomips() < $limit);
+    }
+    my $max_par= $ENV{MTR_MAX_PARALLEL} || 8;
+    $opt_parallel= $max_par if ($opt_parallel > $max_par);
+    $opt_parallel= $num_tests if ($opt_parallel > $num_tests);
+    $opt_parallel= 1 if (IS_WINDOWS and $sys_info->isvm());
+    $opt_parallel= 1 if ($opt_parallel < 1);
+    mtr_report("Using parallel: $opt_parallel");
+  }
+  $ENV{MTR_PARALLEL} = $opt_parallel;
+
+  if ($opt_parallel > 1 && ($opt_start_exit || $opt_stress)) {
+    mtr_warning("Parallel cannot be used with --start-and-exit or --stress\n" .
+               "Setting parallel to 1");
+    $opt_parallel= 1;
+  }
+
+  # Create server socket on any free port
+  my $server = new IO::Socket::INET
+    (
+     LocalAddr => 'localhost',
+     Proto => 'tcp',
+     Listen => $opt_parallel,
+    );
+  mtr_error("Could not create testcase server port: $!") unless $server;
+  my $server_port = $server->sockport();
+
+  if ($opt_resfile) {
+    resfile_init("$opt_vardir/mtr-results.txt");
+    print_global_resfile();
+  }
+
+  # --------------------------------------------------------------------------
+  # Read definitions from include/plugin.defs
+  #
+  read_plugin_defs("include/plugin.defs");
+
+  # Also read from any plugin local or suite specific plugin.defs
+  for (glob "$basedir/plugin/*/tests/mtr/plugin.defs".
+            " $basedir/internal/plugin/*/tests/mtr/plugin.defs".
+            " suite/*/plugin.defs") {
+    read_plugin_defs($_);
+  }
+
+  # Simplify reference to semisync plugins
+  $ENV{'SEMISYNC_PLUGIN_OPT'}= $ENV{'SEMISYNC_MASTER_PLUGIN_OPT'};
+
+  # Create child processes
+  my %children;
+  for my $child_num (1..$opt_parallel){
+    my $child_pid= My::SafeProcess::Base::_safe_fork();
+    if ($child_pid == 0){
+      $server= undef; # Close the server port in child
+      $tests= {}; # Don't need the tests list in child
+
+      # Use subdir of var and tmp unless only one worker
+      if ($opt_parallel > 1) {
+	set_vardir("$opt_vardir/$child_num");
+	$opt_tmpdir= "$opt_tmpdir/$child_num";
+      }
+
+      init_timers();
+      run_worker($server_port, $child_num);
+      exit(1);
+    }
+
+    $children{$child_pid}= 1;
+  }
+  #######################################################################
+
+  mtr_report();
+  mtr_print_thick_line();
+  mtr_print_header($opt_parallel > 1);
+
+  mark_time_used('init');
+
+  my $completed= run_test_server($server, $tests, $opt_parallel);
+
+  exit(0) if $opt_start_exit;
+
+  # Send Ctrl-C to any children still running
+  kill("INT", keys(%children));
+
+  if (!IS_WINDOWS) { 
+    # Wait for children to exit
+    foreach my $pid (keys %children)
+    {
+      my $ret_pid= waitpid($pid, 0);
+      if ($ret_pid != $pid){
+        mtr_report("Unknown process $ret_pid exited");
+      }
+      else {
+        delete $children{$ret_pid};
+      }
+    }
+  }
+
+  if ( not $completed ) {
+    mtr_error("Test suite aborted");
+  }
+
+  if ( @$completed != $num_tests){
+
+    if ($opt_force){
+      # All test should have been run, print any that are still in $tests
+      #foreach my $test ( @$tests ){
+      #  $test->print_test();
+      #}
+    }
+
+    # Not all tests completed, failure
+    mtr_report();
+    mtr_report("Only ", int(@$completed), " of $num_tests completed.");
+    mtr_error("Not all tests completed");
+  }
+
+  mark_time_used('init');
+
+  push @$completed, run_ctest() if $opt_ctest;
+
+  if ($opt_valgrind) {
+    # Create minimalistic "test" for the reporting
+    my $tinfo = My::Test->new
+      (
+       name           => 'valgrind_report',
+      );
+    # Set dummy worker id to align report with normal tests
+    $tinfo->{worker} = 0 if $opt_parallel > 1;
+    if ($valgrind_reports) {
+      $tinfo->{result}= 'MTR_RES_FAILED';
+      $tinfo->{comment}= "Valgrind reported failures at shutdown, see above";
+      $tinfo->{failures}= 1;
+    } else {
+      $tinfo->{result}= 'MTR_RES_PASSED';
+    }
+    mtr_report_test($tinfo);
+    push @$completed, $tinfo;
+  }
+
+  mtr_print_line();
+
+  if ( $opt_gcov ) {
+    gcov_collect($bindir, $opt_gcov_exe,
+		 $opt_gcov_msg, $opt_gcov_err);
+  }
+
+  if ($ctest_report) {
+    print "$ctest_report\n";
+    mtr_print_line();
+  }
+
+  print_total_times($opt_parallel) if $opt_report_times;
+
+  mtr_report_stats("Completed", $completed);
+
+  remove_vardir_subs() if $opt_clean_vardir;
+
+  exit(0);
+}
+
+
+sub run_test_server ($$$) {
+  my ($server, $tests, $childs) = @_;
+
+  my $num_saved_cores= 0;  # Number of core files saved in vardir/log/ so far.
+  my $num_saved_datadir= 0;  # Number of datadirs saved in vardir/log/ so far.
+  my $num_failed_test= 0; # Number of tests failed so far
+
+  # Scheduler variables
+  my $max_ndb= $ENV{MTR_MAX_NDB} || $childs / 2;
+  $max_ndb = $childs if $max_ndb > $childs;
+  $max_ndb = 1 if $max_ndb < 1;
+  my $num_ndb_tests= 0;
+
+  my $completed= [];
+  my %running;
+  my $result;
+  my $exe_mysqld= find_mysqld($basedir) || ""; # Used as hint to CoreDump
+
+  my $suite_timeout= start_timer(suite_timeout());
+
+  my $s= IO::Select->new();
+  $s->add($server);
+  while (1) {
+    mark_time_used('admin');
+    my @ready = $s->can_read(1); # Wake up once every second
+    mark_time_idle();
+    foreach my $sock (@ready) {
+      if ($sock == $server) {
+	# New client connected
+	my $child= $sock->accept();
+	mtr_verbose("Client connected");
+	$s->add($child);
+	print $child "HELLO\n";
+      }
+      else {
+	my $line= <$sock>;
+	if (!defined $line) {
+	  # Client disconnected
+	  mtr_verbose("Child closed socket");
+	  $s->remove($sock);
+	  if (--$childs == 0){
+	    return $completed;
+	  }
+	  next;
+	}
+	chomp($line);
+
+	if ($line eq 'TESTRESULT'){
+	  $result= My::Test::read_test($sock);
+	  # $result->print_test();
+
+	  # Report test status
+	  mtr_report_test($result);
+
+	  if ( $result->is_failed() ) {
+
+	    # Save the workers "savedir" in var/log
+	    my $worker_savedir= $result->{savedir};
+	    my $worker_savename= basename($worker_savedir);
+	    my $savedir= "$opt_vardir/log/$worker_savename";
+
+	    if ($opt_max_save_datadir > 0 &&
+		$num_saved_datadir >= $opt_max_save_datadir)
+	    {
+	      mtr_report(" - skipping '$worker_savedir/'");
+	      rmtree($worker_savedir);
+	    }
+	    else {
+	      mtr_report(" - saving '$worker_savedir/' to '$savedir/'");
+	      rename($worker_savedir, $savedir);
+	      # Move any core files from e.g. mysqltest
+	      foreach my $coref (glob("core*"), glob("*.dmp"))
+	      {
+		mtr_report(" - found '$coref', moving it to '$savedir'");
+                move($coref, $savedir);
+              }
+	      if ($opt_max_save_core > 0) {
+		# Limit number of core files saved
+		find({ no_chdir => 1,
+		       wanted => sub {
+			 my $core_file= $File::Find::name;
+			 my $core_name= basename($core_file);
+
+			 # Name beginning with core, not ending in .gz
+			 if (($core_name =~ /^core/ and $core_name !~ /\.gz$/)
+			     or (IS_WINDOWS and $core_name =~ /\.dmp$/)){
+                                                       # Ending with .dmp
+			   mtr_report(" - found '$core_name'",
+				      "($num_saved_cores/$opt_max_save_core)");
+
+			   My::CoreDump->show($core_file, $exe_mysqld, $opt_parallel);
+
+			   if ($num_saved_cores >= $opt_max_save_core) {
+			     mtr_report(" - deleting it, already saved",
+					"$opt_max_save_core");
+			     unlink("$core_file");
+			   } else {
+			     mtr_compress_file($core_file) unless @opt_cases;
+			   }
+			   ++$num_saved_cores;
+			 }
+		       }
+		     },
+		     $savedir);
+	      }
+	    }
+	    resfile_print_test();
+	    $num_saved_datadir++;
+	    $num_failed_test++ unless ($result->{retries} ||
+                                       $result->{exp_fail});
+
+	    if ( !$opt_force ) {
+	      # Test has failed, force is off
+	      push(@$completed, $result);
+	      return $completed unless $result->{'dont_kill_server'};
+	      # Prevent kill of server, to get valgrind report
+	      print $sock "BYE\n";
+	      next;
+	    }
+	    elsif ($opt_max_test_fail > 0 and
+		   $num_failed_test >= $opt_max_test_fail) {
+	      push(@$completed, $result);
+	      mtr_report_stats("Too many failed", $completed, 1);
+	      mtr_report("Too many tests($num_failed_test) failed!",
+			 "Terminating...");
+	      return undef;
+	    }
+	  }
+
+	  resfile_print_test();
+	  # Retry test run after test failure
+	  my $retries= $result->{retries} || 2;
+	  my $test_has_failed= $result->{failures} || 0;
+	  if ($test_has_failed and $retries <= $opt_retry){
+	    # Test should be run one more time unless it has failed
+	    # too many times already
+	    my $tname= $result->{name};
+	    my $failures= $result->{failures};
+	    if ($opt_retry > 1 and $failures >= $opt_retry_failure){
+	      mtr_report("\nTest $tname has failed $failures times,",
+			 "no more retries!\n");
+	    }
+	    else {
+	      mtr_report("\nRetrying test $tname, ".
+			 "attempt($retries/$opt_retry)...\n");
+              #saving the log file as filename.failed in case of retry
+              if ( $result->is_failed() ) {
+                my $worker_logdir= $result->{savedir};
+                my $log_file_name=dirname($worker_logdir)."/".$result->{shortname}.".log";
+                rename $log_file_name,$log_file_name.".failed";
+              }
+	      delete($result->{result});
+	      $result->{retries}= $retries+1;
+	      $result->write_test($sock, 'TESTCASE');
+	      next;
+	    }
+	  }
+
+	  # Repeat test $opt_repeat number of times
+	  my $repeat= $result->{repeat} || 1;
+	  # Don't repeat if test was skipped
+	  if ($repeat < $opt_repeat && $result->{'result'} ne 'MTR_RES_SKIPPED')
+	  {
+	    $result->{retries}= 0;
+	    $result->{rep_failures}++ if $result->{failures};
+	    $result->{failures}= 0;
+	    delete($result->{result});
+	    $result->{repeat}= $repeat+1;
+	    $result->write_test($sock, 'TESTCASE');
+	    next;
+	  }
+
+	  # Remove from list of running
+	  mtr_error("'", $result->{name},"' is not known to be running")
+	    unless delete $running{$result->key()};
+
+	  # Update scheduler variables
+	  $num_ndb_tests-- if ($result->{ndb_test});
+
+	  # Save result in completed list
+	  push(@$completed, $result);
+
+	}
+	elsif ($line eq 'START'){
+	  ; # Send first test
+	}
+	elsif ($line =~ /^SPENT/) {
+	  add_total_times($line);
+	}
+	elsif ($line eq 'VALGREP' && $opt_valgrind) {
+	  $valgrind_reports= 1;
+	}
+	else {
+	  mtr_error("Unknown response: '$line' from client");
+	}
+
+	# Find next test to schedule
+	# - Try to use same configuration as worker used last time
+	# - Limit number of parallel ndb tests
+
+	my $next;
+	my $second_best;
+	for(my $i= 0; $i <= @$tests; $i++)
+	{
+	  my $t= $tests->[$i];
+
+	  last unless defined $t;
+
+	  if (run_testcase_check_skip_test($t)){
+	    # Move the test to completed list
+	    #mtr_report("skip - Moving test $i to completed");
+	    push(@$completed, splice(@$tests, $i, 1));
+
+	    # Since the test at pos $i was taken away, next
+	    # test will also be at $i -> redo
+	    redo;
+	  }
+
+	  # Limit number of parallell NDB tests
+	  if ($t->{ndb_test} and $num_ndb_tests >= $max_ndb){
+	    #mtr_report("Skipping, num ndb is already at max, $num_ndb_tests");
+	    next;
+	  }
+
+	  # Second best choice is the first that does not fulfill
+	  # any of the above conditions
+	  if (!defined $second_best){
+	    #mtr_report("Setting second_best to $i");
+	    $second_best= $i;
+	  }
+
+	  # Smart allocation of next test within this thread.
+
+	  if ($opt_reorder and $opt_parallel > 1 and defined $result)
+	  {
+	    my $wid= $result->{worker};
+	    # Reserved for other thread, try next
+	    next if (defined $t->{reserved} and $t->{reserved} != $wid);
+	    if (! defined $t->{reserved})
+	    {
+	      # Force-restart not relevant when comparing *next* test
+	      $t->{criteria} =~ s/force-restart$/no-restart/;
+	      my $criteria= $t->{criteria};
+	      # Reserve similar tests for this worker, but not too many
+	      my $maxres= (@$tests - $i) / $opt_parallel + 1;
+	      for (my $j= $i+1; $j <= $i + $maxres; $j++)
+	      {
+		my $tt= $tests->[$j];
+		last unless defined $tt;
+		last if $tt->{criteria} ne $criteria;
+		$tt->{reserved}= $wid;
+	      }
+	    }
+	  }
+
+	  # At this point we have found next suitable test
+	  $next= splice(@$tests, $i, 1);
+	  last;
+	}
+
+	# Use second best choice if no other test has been found
+	if (!$next and defined $second_best){
+	  #mtr_report("Take second best choice $second_best");
+	  mtr_error("Internal error, second best too large($second_best)")
+	    if $second_best >  $#$tests;
+	  $next= splice(@$tests, $second_best, 1);
+	  delete $next->{reserved};
+	}
+
+	if ($next) {
+	  # We don't need this any more
+	  delete $next->{criteria};
+	  $next->write_test($sock, 'TESTCASE');
+	  $running{$next->key()}= $next;
+	  $num_ndb_tests++ if ($next->{ndb_test});
+	}
+	else {
+	  # No more test, tell child to exit
+	  #mtr_report("Saying BYE to child");
+	  print $sock "BYE\n";
+	}
+      }
+    }
+
+    # ----------------------------------------------------
+    # Check if test suite timer expired
+    # ----------------------------------------------------
+    if ( has_expired($suite_timeout) )
+    {
+      mtr_report_stats("Timeout", $completed, 1);
+      mtr_report("Test suite timeout! Terminating...");
+      return undef;
+    }
+  }
+}
+
+
+sub run_worker ($) {
+  my ($server_port, $thread_num)= @_;
+
+  $SIG{INT}= sub { exit(1); };
+
+  # Connect to server
+  my $server = new IO::Socket::INET
+    (
+     PeerAddr => 'localhost',
+     PeerPort => $server_port,
+     Proto    => 'tcp'
+    );
+  mtr_error("Could not connect to server at port $server_port: $!")
+    unless $server;
+
+  # --------------------------------------------------------------------------
+  # Set worker name
+  # --------------------------------------------------------------------------
+  report_option('name',"worker[$thread_num]");
+
+  # --------------------------------------------------------------------------
+  # Set different ports per thread
+  # --------------------------------------------------------------------------
+  set_build_thread_ports($thread_num);
+
+  # --------------------------------------------------------------------------
+  # Turn off verbosity in workers, unless explicitly specified
+  # --------------------------------------------------------------------------
+  report_option('verbose', undef) if ($opt_verbose == 0);
+
+  environment_setup();
+
+  # Read hello from server which it will send when shared
+  # resources have been setup
+  my $hello= <$server>;
+
+  setup_vardir();
+  check_running_as_root();
+
+  if ( using_extern() ) {
+    create_config_file_for_extern(%opts_extern);
+  }
+
+  # Ask server for first test
+  print $server "START\n";
+
+  mark_time_used('init');
+
+  while (my $line= <$server>){
+    chomp($line);
+    if ($line eq 'TESTCASE'){
+      my $test= My::Test::read_test($server);
+      #$test->print_test();
+
+      # Clear comment and logfile, to avoid
+      # reusing them from previous test
+      delete($test->{'comment'});
+      delete($test->{'logfile'});
+
+      # A sanity check. Should this happen often we need to look at it.
+      if (defined $test->{reserved} && $test->{reserved} != $thread_num) {
+	my $tres= $test->{reserved};
+	mtr_warning("Test reserved for w$tres picked up by w$thread_num");
+      }
+      $test->{worker} = $thread_num if $opt_parallel > 1;
+
+      run_testcase($test);
+      #$test->{result}= 'MTR_RES_PASSED';
+      # Send it back, now with results set
+      #$test->print_test();
+      $test->write_test($server, 'TESTRESULT');
+      mark_time_used('restart');
+    }
+    elsif ($line eq 'BYE'){
+      mtr_report("Server said BYE");
+      stop_all_servers($opt_shutdown_timeout);
+      mark_time_used('restart');
+      my $valgrind_reports= 0;
+      if ($opt_valgrind_mysqld) {
+        $valgrind_reports= valgrind_exit_reports();
+	print $server "VALGREP\n" if $valgrind_reports;
+      }
+      if ( $opt_gprof ) {
+	gprof_collect (find_mysqld($basedir), keys %gprof_dirs);
+      }
+      mark_time_used('admin');
+      print_times_used($server, $thread_num);
+      exit($valgrind_reports);
+    }
+    else {
+      mtr_error("Could not understand server, '$line'");
+    }
+  }
+
+  stop_all_servers();
+
+  exit(1);
+}
+
+
+sub ignore_option {
+  my ($opt, $value)= @_;
+  mtr_report("Ignoring option '$opt'");
+}
+
+
+
+# Setup any paths that are $opt_vardir related
+sub set_vardir {
+  my ($vardir)= @_;
+
+  $opt_vardir= $vardir;
+
+  $path_vardir_trace= $opt_vardir;
+  # Chop off any "c:", DBUG likes a unix path ex: c:/src/... => /src/...
+  $path_vardir_trace=~ s/^\w://;
+
+  # Location of my.cnf that all clients use
+  $path_config_file= "$opt_vardir/my.cnf";
+
+  $path_testlog=         "$opt_vardir/log/mysqltest.log";
+  $path_current_testlog= "$opt_vardir/log/current_test";
+
+}
+
+
+sub print_global_resfile {
+  resfile_global("start_time", isotime $^T);
+  resfile_global("user_id", $<);
+  resfile_global("embedded-server", $opt_embedded_server ? 1 : 0);
+  resfile_global("ps-protocol", $opt_ps_protocol ? 1 : 0);
+  resfile_global("sp-protocol", $opt_sp_protocol ? 1 : 0);
+  resfile_global("view-protocol", $opt_view_protocol ? 1 : 0);
+  resfile_global("cursor-protocol", $opt_cursor_protocol ? 1 : 0);
+  resfile_global("ssl", $opt_ssl ? 1 : 0);
+  resfile_global("compress", $opt_compress ? 1 : 0);
+  resfile_global("parallel", $opt_parallel);
+  resfile_global("check-testcases", $opt_check_testcases ? 1 : 0);
+  resfile_global("mysqld", \@opt_extra_mysqld_opt);
+  resfile_global("debug", $opt_debug ? 1 : 0);
+  resfile_global("gcov", $opt_gcov ? 1 : 0);
+  resfile_global("gprof", $opt_gprof ? 1 : 0);
+  resfile_global("valgrind", $opt_valgrind ? 1 : 0);
+  resfile_global("callgrind", $opt_callgrind ? 1 : 0);
+  resfile_global("mem", $opt_mem ? 1 : 0);
+  resfile_global("tmpdir", $opt_tmpdir);
+  resfile_global("vardir", $opt_vardir);
+  resfile_global("fast", $opt_fast ? 1 : 0);
+  resfile_global("force-restart", $opt_force_restart ? 1 : 0);
+  resfile_global("reorder", $opt_reorder ? 1 : 0);
+  resfile_global("sleep", $opt_sleep);
+  resfile_global("repeat", $opt_repeat);
+  resfile_global("user", $opt_user);
+  resfile_global("testcase-timeout", $opt_testcase_timeout);
+  resfile_global("suite-timeout", $opt_suite_timeout);
+  resfile_global("shutdown-timeout", $opt_shutdown_timeout ? 1 : 0);
+  resfile_global("warnings", $opt_warnings ? 1 : 0);
+  resfile_global("max-connections", $opt_max_connections);
+#  resfile_global("default-myisam", $opt_default_myisam ? 1 : 0);
+  resfile_global("product", "MySQL");
+  # Somewhat hacky code to convert numeric version back to dot notation
+  my $v1= int($mysql_version_id / 10000);
+  my $v2= int(($mysql_version_id % 10000)/100);
+  my $v3= $mysql_version_id % 100;
+  resfile_global("version", "$v1.$v2.$v3");
+}
+
+
+
+sub command_line_setup {
+  my $opt_comment;
+  my $opt_usage;
+  my $opt_list_options;
+
+  # Read the command line options
+  # Note: Keep list in sync with usage at end of this file
+  Getopt::Long::Configure("pass_through");
+  my %options=(
+             # Control what engine/variation to run
+             'embedded-server'          => \$opt_embedded_server,
+             'ps-protocol'              => \$opt_ps_protocol,
+             'sp-protocol'              => \$opt_sp_protocol,
+             'view-protocol'            => \$opt_view_protocol,
+             'cursor-protocol'          => \$opt_cursor_protocol,
+             'ssl|with-openssl'         => \$opt_ssl,
+             'skip-ssl'                 => \$opt_skip_ssl,
+             'compress'                 => \$opt_compress,
+             'vs-config=s'              => \$opt_vs_config,
+
+	     # Max number of parallel threads to use
+	     'parallel=s'               => \$opt_parallel,
+
+             # Config file to use as template for all tests
+	     'defaults-file=s'          => \&collect_option,
+	     # Extra config file to append to all generated configs
+	     'defaults-extra-file=s'    => \&collect_option,
+
+             # Control what test suites or cases to run
+             'force'                    => \$opt_force,
+             'with-ndbcluster-only'     => \&collect_option,
+             'ndb|include-ndbcluster'   => \$opt_include_ndbcluster,
+             'skip-ndbcluster|skip-ndb' => \$opt_skip_ndbcluster,
+             'suite|suites=s'           => \$opt_suites,
+             'skip-rpl'                 => \&collect_option,
+             'skip-test=s'              => \&collect_option,
+             'do-test=s'                => \&collect_option,
+             'start-from=s'             => \&collect_option,
+             'big-test'                 => \$opt_big_test,
+	     'combination=s'            => \@opt_combinations,
+             'skip-combinations'        => \&collect_option,
+             'experimental=s'           => \@opt_experimentals,
+	     # skip-im is deprecated and silently ignored
+	     'skip-im'                  => \&ignore_option,
+
+             # Specify ports
+	     'build-thread|mtr-build-thread=i' => \$opt_build_thread,
+	     'port-base|mtr-port-base=i'       => \$opt_port_base,
+
+             # Test case authoring
+             'record'                   => \$opt_record,
+             'check-testcases!'         => \$opt_check_testcases,
+             'mark-progress'            => \$opt_mark_progress,
+
+             # Extra options used when starting mysqld
+             'mysqld=s'                 => \@opt_extra_mysqld_opt,
+             'mysqld-env=s'             => \@opt_mysqld_envs,
+
+             # Run test on running server
+             'extern=s'                  => \%opts_extern, # Append to hash
+
+             # Debugging
+             'debug'                    => \$opt_debug,
+             'debug-common'             => \$opt_debug_common,
+             'debug-server'             => \$opt_debug_server,
+             'gdb'                      => \$opt_gdb,
+             'client-gdb'               => \$opt_client_gdb,
+             'manual-gdb'               => \$opt_manual_gdb,
+             'manual-lldb'              => \$opt_manual_lldb,
+	     'boot-gdb'                 => \$opt_boot_gdb,
+             'manual-debug'             => \$opt_manual_debug,
+             'ddd'                      => \$opt_ddd,
+             'client-ddd'               => \$opt_client_ddd,
+             'manual-ddd'               => \$opt_manual_ddd,
+	     'boot-ddd'                 => \$opt_boot_ddd,
+             'dbx'                      => \$opt_dbx,
+	     'client-dbx'               => \$opt_client_dbx,
+	     'manual-dbx'               => \$opt_manual_dbx,
+	     'debugger=s'               => \$opt_debugger,
+	     'boot-dbx'                 => \$opt_boot_dbx,
+	     'client-debugger=s'        => \$opt_client_debugger,
+             'strace-server'            => \$opt_strace_server,
+             'strace-client'            => \$opt_strace_client,
+             'max-save-core=i'          => \$opt_max_save_core,
+             'max-save-datadir=i'       => \$opt_max_save_datadir,
+             'max-test-fail=i'          => \$opt_max_test_fail,
+
+             # Coverage, profiling etc
+             'gcov'                     => \$opt_gcov,
+             'gprof'                    => \$opt_gprof,
+             'valgrind|valgrind-all'    => \$opt_valgrind,
+             'valgrind-mysqltest'       => \$opt_valgrind_mysqltest,
+             'valgrind-mysqld'          => \$opt_valgrind_mysqld,
+             'valgrind-options=s'       => sub {
+	       my ($opt, $value)= @_;
+	       # Deprecated option unless it's what we know pushbuild uses
+	       if ($value eq "--gen-suppressions=all --show-reachable=yes") {
+		 push(@valgrind_args, $_) for (split(' ', $value));
+		 return;
+	       }
+	       die("--valgrind-options=s is deprecated. Use ",
+		   "--valgrind-option=s, to be specified several",
+		   " times if necessary");
+	     },
+             'valgrind-option=s'        => \@valgrind_args,
+             'valgrind-path=s'          => \$opt_valgrind_path,
+	     'callgrind'                => \$opt_callgrind,
+	     'debug-sync-timeout=i'     => \$opt_debug_sync_timeout,
+
+	     # Directories
+             'tmpdir=s'                 => \$opt_tmpdir,
+             'vardir=s'                 => \$opt_vardir,
+             'mem'                      => \$opt_mem,
+	     'clean-vardir'             => \$opt_clean_vardir,
+             'client-bindir=s'          => \$path_client_bindir,
+             'client-libdir=s'          => \$path_client_libdir,
+
+             # Misc
+             'report-features'          => \$opt_report_features,
+             'comment=s'                => \$opt_comment,
+             'fast'                     => \$opt_fast,
+	     'force-restart'            => \$opt_force_restart,
+             'reorder!'                 => \$opt_reorder,
+             'enable-disabled'          => \&collect_option,
+             'verbose+'                 => \$opt_verbose,
+             'verbose-restart'          => \&report_option,
+             'sleep=i'                  => \$opt_sleep,
+             'start-dirty'              => \$opt_start_dirty,
+             'start-and-exit'           => \$opt_start_exit,
+             'start'                    => \$opt_start,
+	     'user-args'                => \$opt_user_args,
+             'wait-all'                 => \$opt_wait_all,
+	     'print-testcases'          => \&collect_option,
+	     'repeat=i'                 => \$opt_repeat,
+	     'retry=i'                  => \$opt_retry,
+	     'retry-failure=i'          => \$opt_retry_failure,
+             'timer!'                   => \&report_option,
+             'user=s'                   => \$opt_user,
+             'testcase-timeout=i'       => \$opt_testcase_timeout,
+             'suite-timeout=i'          => \$opt_suite_timeout,
+             'shutdown-timeout=i'       => \$opt_shutdown_timeout,
+             'warnings!'                => \$opt_warnings,
+	     'timestamp'                => \&report_option,
+	     'timediff'                 => \&report_option,
+	     'max-connections=i'        => \$opt_max_connections,
+	     'default-myisam!'          => \&collect_option,
+	     'report-times'             => \$opt_report_times,
+	     'result-file'              => \$opt_resfile,
+	     'unit-tests!'              => \$opt_ctest,
+	     'unit-tests-report!'	=> \$opt_ctest_report,
+	     'stress=s'                 => \$opt_stress,
+
+             'help|h'                   => \$opt_usage,
+	     # list-options is internal, not listed in help
+	     'list-options'             => \$opt_list_options,
+             'skip-test-list=s'         => \@opt_skip_test_list
+           );
+
+  GetOptions(%options) or usage("Can't read options");
+
+  usage("") if $opt_usage;
+  list_options(\%options) if $opt_list_options;
+
+  # --------------------------------------------------------------------------
+  # Setup verbosity
+  # --------------------------------------------------------------------------
+  if ($opt_verbose != 0){
+    report_option('verbose', $opt_verbose);
+  }
+
+  if ( -d "../sql" )
+  {
+    $source_dist=  1;
+  }
+
+  # Find the absolute path to the test directory
+  $glob_mysql_test_dir= cwd();
+  if ($glob_mysql_test_dir =~ / /)
+  {
+    die("Working directory \"$glob_mysql_test_dir\" contains space\n".
+	"Bailing out, cannot function properly with space in path");
+  }
+  if (IS_CYGWIN)
+  {
+    # Use mixed path format i.e c:/path/to/
+    $glob_mysql_test_dir= mixed_path($glob_mysql_test_dir);
+  }
+
+  # In most cases, the base directory we find everything relative to,
+  # is the parent directory of the "mysql-test" directory. For source
+  # distributions, TAR binary distributions and some other packages.
+  $basedir= dirname($glob_mysql_test_dir);
+
+  # In the RPM case, binaries and libraries are installed in the
+  # default system locations, instead of having our own private base
+  # directory. And we install "/usr/share/mysql-test". Moving up one
+  # more directory relative to "mysql-test" gives us a usable base
+  # directory for RPM installs.
+  if ( ! $source_dist and ! -d "$basedir/bin" )
+  {
+    $basedir= dirname($basedir);
+  }
+  
+  # Respect MTR_BINDIR variable, which is typically set in to the 
+  # build directory in out-of-source builds.
+  $bindir=$ENV{MTR_BINDIR}||$basedir;
+  
+  # Look for the client binaries directory
+  if ($path_client_bindir)
+  {
+    # --client-bindir=path set on command line, check that the path exists
+    $path_client_bindir= mtr_path_exists($path_client_bindir);
+  }
+  else
+  {
+    $path_client_bindir= mtr_path_exists("$bindir/client_release",
+					 "$bindir/client_debug",
+					 vs_config_dirs('client', ''),
+					 "$bindir/client",
+					 "$bindir/bin");
+  }
+
+  # Look for language files and charsetsdir, use same share
+  $path_language=   mtr_path_exists("$bindir/share/mysql",
+                                    "$bindir/sql/share",
+                                    "$bindir/share");
+  my $path_share= $path_language;
+  $path_charsetsdir =   mtr_path_exists("$basedir/share/mysql/charsets",
+                                    "$basedir/sql/share/charsets",
+                                    "$basedir/share/charsets");
+
+  ($auth_plugin)= find_plugin("auth_test_plugin", "plugin/auth");
+
+  # --debug[-common] implies we run debug server
+  $opt_debug_server= 1 if $opt_debug || $opt_debug_common;
+
+  if (using_extern())
+  {
+    # Connect to the running mysqld and find out what it supports
+    collect_mysqld_features_from_running_server();
+  }
+  else
+  {
+    # Run the mysqld to find out what features are available
+    collect_mysqld_features();
+  }
+
+  if ( $opt_comment )
+  {
+    mtr_report();
+    mtr_print_thick_line('#');
+    mtr_report("# $opt_comment");
+    mtr_print_thick_line('#');
+  }
+
+  if ( @opt_experimentals )
+  {
+    # $^O on Windows considered not generic enough
+    my $plat= (IS_WINDOWS) ? 'windows' : $^O;
+
+    # read the list of experimental test cases from the files specified on
+    # the command line
+    $experimental_test_cases = [];
+    foreach my $exp_file (@opt_experimentals)
+    {
+      open(FILE, "<", $exp_file)
+	or mtr_error("Can't read experimental file: $exp_file");
+      mtr_report("Using experimental file: $exp_file");
+      while(<FILE>) {
+	chomp;
+	# remove comments (# foo) at the beginning of the line, or after a 
+	# blank at the end of the line
+	s/(\s+|^)#.*$//;
+	# If @ platform specifier given, use this entry only if it contains
+	# @<platform> or @!<xxx> where xxx != platform
+	if (/\@.*/)
+	{
+	  next if (/\@!$plat/);
+	  next unless (/\@$plat/ or /\@!/);
+	  # Then remove @ and everything after it
+	  s/\@.*$//;
+	}
+	# remove whitespace
+	s/^\s+//;
+	s/\s+$//;
+	# if nothing left, don't need to remember this line
+	if ( $_ eq "" ) {
+	  next;
+	}
+	# remember what is left as the name of another test case that should be
+	# treated as experimental
+	print " - $_\n";
+	push @$experimental_test_cases, $_;
+      }
+      close FILE;
+    }
+  }
+
+  foreach my $arg ( @ARGV )
+  {
+    if ( $arg =~ /^--skip-/ )
+    {
+      push(@opt_extra_mysqld_opt, $arg);
+    }
+    elsif ( $arg =~ /^--$/ )
+    {
+      # It is an effect of setting 'pass_through' in option processing
+      # that the lone '--' separating options from arguments survives,
+      # simply ignore it.
+    }
+    elsif ( $arg =~ /^-/ )
+    {
+      usage("Invalid option \"$arg\"");
+    }
+    else
+    {
+      push(@opt_cases, $arg);
+    }
+  }
+
+  # --------------------------------------------------------------------------
+  # Find out type of logging that are being used
+  # --------------------------------------------------------------------------
+  foreach my $arg ( @opt_extra_mysqld_opt )
+  {
+    if ( $arg =~ /binlog[-_]format=(\S+)/ )
+    {
+      # Save this for collect phase
+      collect_option('binlog-format', $1);
+      mtr_report("Using binlog format '$1'");
+    }
+  }
+
+
+  # --------------------------------------------------------------------------
+  # Find out default storage engine being used(if any)
+  # --------------------------------------------------------------------------
+  foreach my $arg ( @opt_extra_mysqld_opt )
+  {
+    if ( $arg =~ /default-storage-engine=(\S+)/ )
+    {
+      # Save this for collect phase
+      collect_option('default-storage-engine', $1);
+      mtr_report("Using default engine '$1'")
+    }
+  }
+
+  if (IS_WINDOWS and defined $opt_mem) {
+    mtr_report("--mem not supported on Windows, ignored");
+    $opt_mem= undef;
+  }
+
+  if ($opt_port_base ne "auto")
+  {
+    if (my $rem= $opt_port_base % 10)
+    {
+      mtr_warning ("Port base $opt_port_base rounded down to multiple of 10");
+      $opt_port_base-= $rem;
+    }
+    $opt_build_thread= $opt_port_base / 10 - 1000;
+  }
+
+  # --------------------------------------------------------------------------
+  # Check if we should speed up tests by trying to run on tmpfs
+  # --------------------------------------------------------------------------
+  if ( defined $opt_mem)
+  {
+    mtr_error("Can't use --mem and --vardir at the same time ")
+      if $opt_vardir;
+    mtr_error("Can't use --mem and --tmpdir at the same time ")
+      if $opt_tmpdir;
+
+    # Search through list of locations that are known
+    # to be "fast disks" to find a suitable location
+    # Use --mem=<dir> as first location to look.
+    my @tmpfs_locations= ($opt_mem, "/dev/shm", "/tmp");
+
+    foreach my $fs (@tmpfs_locations)
+    {
+      if ( -d $fs )
+      {
+	my $template= "var_${opt_build_thread}_XXXX";
+	$opt_mem= tempdir( $template, DIR => $fs, CLEANUP => 0);
+	last;
+      }
+    }
+  }
+
+  # --------------------------------------------------------------------------
+  # Set the "var/" directory, the base for everything else
+  # --------------------------------------------------------------------------
+  if(defined $ENV{MTR_BINDIR})
+  {
+    $default_vardir= "$ENV{MTR_BINDIR}/mysql-test/var";
+  }
+  else
+  {
+    $default_vardir= "$glob_mysql_test_dir/var";
+  }
+  if ( ! $opt_vardir )
+  {
+    $opt_vardir= $default_vardir;
+  }
+
+  # We make the path absolute, as the server will do a chdir() before usage
+  unless ( $opt_vardir =~ m,^/, or
+           (IS_WINDOWS and $opt_vardir =~ m,^[a-z]:[/\\],i) )
+  {
+    # Make absolute path, relative test dir
+    $opt_vardir= "$glob_mysql_test_dir/$opt_vardir";
+  }
+
+  set_vardir($opt_vardir);
+
+  # --------------------------------------------------------------------------
+  # Set the "tmp" directory
+  # --------------------------------------------------------------------------
+  if ( ! $opt_tmpdir )
+  {
+    $opt_tmpdir=       "$opt_vardir/tmp" unless $opt_tmpdir;
+
+    if (check_socket_path_length("$opt_tmpdir/mysql_testsocket.sock"))
+    {
+      mtr_report("Too long tmpdir path '$opt_tmpdir'",
+		 " creating a shorter one...");
+
+      # Create temporary directory in standard location for temporary files
+      $opt_tmpdir= tempdir( TMPDIR => 1, CLEANUP => 0 );
+      mtr_report(" - using tmpdir: '$opt_tmpdir'\n");
+
+      # Remember pid that created dir so it's removed by correct process
+      $opt_tmpdir_pid= $$;
+    }
+  }
+  $opt_tmpdir =~ s,/+$,,;       # Remove ending slash if any
+
+  # --------------------------------------------------------------------------
+  # fast option
+  # --------------------------------------------------------------------------
+  if ($opt_fast){
+    $opt_shutdown_timeout= 0; # Kill processes instead of nice shutdown
+  }
+
+  # --------------------------------------------------------------------------
+  # Check parallel value
+  # --------------------------------------------------------------------------
+  if ($opt_parallel ne "auto" && $opt_parallel < 1)
+  {
+    mtr_error("0 or negative parallel value makes no sense, use 'auto' or positive number");
+  }
+
+  # --------------------------------------------------------------------------
+  # Record flag
+  # --------------------------------------------------------------------------
+  if ( $opt_record and ! @opt_cases )
+  {
+    mtr_error("Will not run in record mode without a specific test case");
+  }
+
+  if ( $opt_record ) {
+    # Use only one worker with --record
+    $opt_parallel= 1;
+  }
+
+  # --------------------------------------------------------------------------
+  # Embedded server flag
+  # --------------------------------------------------------------------------
+  if ( $opt_embedded_server )
+  {
+    if ( IS_WINDOWS )
+    {
+      # Add the location for libmysqld.dll to the path.
+      my $separator= ";";
+      my $lib_mysqld=
+        mtr_path_exists("$bindir/lib", vs_config_dirs('libmysqld',''));
+      if ( IS_CYGWIN )
+      {
+	$lib_mysqld= posix_path($lib_mysqld);
+	$separator= ":";
+      }
+      $ENV{'PATH'}= "$ENV{'PATH'}".$separator.$lib_mysqld;
+    }
+    $opt_skip_ssl= 1;              # Turn off use of SSL
+
+    # Turn off use of bin log
+    push(@opt_extra_mysqld_opt, "--skip-log-bin");
+
+    if ( using_extern() )
+    {
+      mtr_error("Can't use --extern with --embedded-server");
+    }
+
+
+    if ($opt_gdb)
+    {
+      mtr_warning("Silently converting --gdb to --client-gdb in embedded mode");
+      $opt_client_gdb= $opt_gdb;
+      $opt_gdb= undef;
+    }
+
+    if ($opt_ddd)
+    {
+      mtr_warning("Silently converting --ddd to --client-ddd in embedded mode");
+      $opt_client_ddd= $opt_ddd;
+      $opt_ddd= undef;
+    }
+
+    if ($opt_dbx) {
+      mtr_warning("Silently converting --dbx to --client-dbx in embedded mode");
+      $opt_client_dbx= $opt_dbx;
+      $opt_dbx= undef;
+    }
+
+    if ($opt_debugger)
+    {
+      mtr_warning("Silently converting --debugger to --client-debugger in embedded mode");
+      $opt_client_debugger= $opt_debugger;
+      $opt_debugger= undef;
+    }
+
+    if ( $opt_gdb || $opt_ddd || $opt_manual_gdb || $opt_manual_lldb || 
+         $opt_manual_ddd || $opt_manual_debug || $opt_debugger || $opt_dbx || 
+         $opt_manual_dbx)
+    {
+      mtr_error("You need to use the client debug options for the",
+		"embedded server. Ex: --client-gdb");
+    }
+  }
+
+  # --------------------------------------------------------------------------
+  # Big test flags
+  # --------------------------------------------------------------------------
+   if ( $opt_big_test )
+   {
+     $ENV{'BIG_TEST'}= 1;
+   }
+
+  # --------------------------------------------------------------------------
+  # Gcov flag
+  # --------------------------------------------------------------------------
+  if ( ($opt_gcov or $opt_gprof) and ! $source_dist )
+  {
+    mtr_error("Coverage test needs the source - please use source dist");
+  }
+
+  # --------------------------------------------------------------------------
+  # Check debug related options
+  # --------------------------------------------------------------------------
+  if ( $opt_gdb || $opt_client_gdb || $opt_ddd || $opt_client_ddd || 
+       $opt_manual_gdb || $opt_manual_lldb || $opt_manual_ddd || 
+       $opt_manual_debug || $opt_dbx || $opt_client_dbx || $opt_manual_dbx || 
+       $opt_debugger || $opt_client_debugger )
+  {
+    # Indicate that we are using debugger
+    $glob_debugger= 1;
+    if ( using_extern() )
+    {
+      mtr_error("Can't use --extern when using debugger");
+    }
+    # Set one week timeout (check-testcase timeout will be 1/10th)
+    $opt_testcase_timeout= 7 * 24 * 60;
+    $opt_suite_timeout= 7 * 24 * 60;
+    # One day to shutdown
+    $opt_shutdown_timeout= 24 * 60;
+    # One day for PID file creation (this is given in seconds not minutes)
+    $opt_start_timeout= 24 * 60 * 60;
+  }
+
+  # --------------------------------------------------------------------------
+  # Modified behavior with --start options
+  # --------------------------------------------------------------------------
+  if ($opt_start or $opt_start_dirty or $opt_start_exit) {
+    collect_option ('quick-collect', 1);
+    $start_only= 1;
+  }
+
+  # --------------------------------------------------------------------------
+  # Check use of user-args
+  # --------------------------------------------------------------------------
+
+  if ($opt_user_args) {
+    mtr_error("--user-args only valid with --start options")
+      unless $start_only;
+    mtr_error("--user-args cannot be combined with named suites or tests")
+      if $opt_suites || @opt_cases;
+  }
+
+  # --------------------------------------------------------------------------
+  # Set default values for opt_ctest (--unit-tests)
+  # --------------------------------------------------------------------------
+
+  if ($opt_ctest == -1) {
+    if (defined $opt_ctest_report && $opt_ctest_report) {
+      # Turn on --unit-tests by default if --unit-tests-report is used
+      $opt_ctest= 1;
+    } elsif ($opt_suites || @opt_cases) {
+      # Don't run ctest if tests or suites named
+      $opt_ctest= 0;
+    } elsif (defined $ENV{PB2WORKDIR}) {
+      # Override: disable if running in the PB test environment
+      $opt_ctest= 0;
+    }
+  }
+
+  # --------------------------------------------------------------------------
+  # Check use of wait-all
+  # --------------------------------------------------------------------------
+
+  if ($opt_wait_all && ! $start_only)
+  {
+    mtr_error("--wait-all can only be used with --start options");
+  }
+
+  # --------------------------------------------------------------------------
+  # Gather stress-test options and modify behavior
+  # --------------------------------------------------------------------------
+
+  if ($opt_stress)
+  {
+    $opt_stress=~ s/,/ /g;
+    $opt_user_args= 1;
+    mtr_error("--stress cannot be combined with named ordinary suites or tests")
+      if $opt_suites || @opt_cases;
+    $opt_suites="stress";
+    @opt_cases= ("wrapper");
+    $ENV{MST_OPTIONS}= $opt_stress;
+    $opt_ctest= 0;
+  }
+
+  # --------------------------------------------------------------------------
+  # Check timeout arguments
+  # --------------------------------------------------------------------------
+
+  mtr_error("Invalid value '$opt_testcase_timeout' supplied ".
+	    "for option --testcase-timeout")
+    if ($opt_testcase_timeout <= 0);
+  mtr_error("Invalid value '$opt_suite_timeout' supplied ".
+	    "for option --testsuite-timeout")
+    if ($opt_suite_timeout <= 0);
+
+  # --------------------------------------------------------------------------
+  # Check valgrind arguments
+  # --------------------------------------------------------------------------
+  if ( $opt_valgrind or $opt_valgrind_path or @valgrind_args)
+  {
+    mtr_report("Turning on valgrind for all executables");
+    $opt_valgrind= 1;
+    $opt_valgrind_mysqld= 1;
+    $opt_valgrind_mysqltest= 1;
+
+    # Increase the timeouts when running with valgrind
+    $opt_testcase_timeout*= 10;
+    $opt_suite_timeout*= 6;
+    $opt_start_timeout*= 10;
+
+  }
+  elsif ( $opt_valgrind_mysqld )
+  {
+    mtr_report("Turning on valgrind for mysqld(s) only");
+    $opt_valgrind= 1;
+  }
+  elsif ( $opt_valgrind_mysqltest )
+  {
+    mtr_report("Turning on valgrind for mysqltest and mysql_client_test only");
+    $opt_valgrind= 1;
+  }
+
+  if ( $opt_callgrind )
+  {
+    mtr_report("Turning on valgrind with callgrind for mysqld(s)");
+    $opt_valgrind= 1;
+    $opt_valgrind_mysqld= 1;
+
+    # Set special valgrind options unless options passed on command line
+    push(@valgrind_args, "--trace-children=yes")
+      unless @valgrind_args;
+  }
+
+  if ( $opt_valgrind )
+  {
+    # Set valgrind_options to default unless already defined
+    push(@valgrind_args, @default_valgrind_args)
+      unless @valgrind_args;
+
+    # Don't add --quiet; you will loose the summary reports.
+
+    mtr_report("Running valgrind with options \"",
+	       join(" ", @valgrind_args), "\"");
+  }
+
+  if ($opt_debug_common)
+  {
+    $opt_debug= 1;
+    $debug_d= "d,query,info,error,enter,exit";
+  }
+
+  if ( $opt_strace_server && ($^O ne "linux") )
+  {
+    $opt_strace_server=0;
+    mtr_warning("Strace only supported in Linux ");
+  }
+
+  if ( $opt_strace_client && ($^O ne "linux") )
+  {
+    $opt_strace_client=0;
+    mtr_warning("Strace only supported in Linux ");
+  }
+
+
+  mtr_report("Checking supported features...");
+
+  check_ndbcluster_support(\%mysqld_variables);
+  check_ssl_support(\%mysqld_variables);
+  check_debug_support(\%mysqld_variables);
+
+  executable_setup();
+
+}
+
+
+#
+# To make it easier for different devs to work on the same host,
+# an environment variable can be used to control all ports. A small
+# number is to be used, 0 - 16 or similar.
+#
+# Note the MASTER_MYPORT has to be set the same in all 4.x and 5.x
+# versions of this script, else a 4.0 test run might conflict with a
+# 5.1 test run, even if different MTR_BUILD_THREAD is used. This means
+# all port numbers might not be used in this version of the script.
+#
+# Also note the limitation of ports we are allowed to hand out. This
+# differs between operating systems and configuration, see
+# http://www.ncftp.com/ncftpd/doc/misc/ephemeral_ports.html
+# But a fairly safe range seems to be 5001 - 32767
+#
+sub set_build_thread_ports($) {
+  my $thread= shift || 0;
+
+  if ( lc($opt_build_thread) eq 'auto' ) {
+    my $found_free = 0;
+    $build_thread = 300;	# Start attempts from here
+    while (! $found_free)
+    {
+      $build_thread= mtr_get_unique_id($build_thread, 349);
+      if ( !defined $build_thread ) {
+        mtr_error("Could not get a unique build thread id");
+      }
+      $found_free= check_ports_free($build_thread);
+      # If not free, release and try from next number
+      if (! $found_free) {
+        mtr_release_unique_id();
+        $build_thread++;
+      }
+    }
+  }
+  else
+  {
+    $build_thread = $opt_build_thread + $thread - 1;
+    if (! check_ports_free($build_thread)) {
+      # Some port was not free(which one has already been printed)
+      mtr_error("Some port(s) was not free")
+    }
+  }
+  $ENV{MTR_BUILD_THREAD}= $build_thread;
+
+  # Calculate baseport
+  $baseport= $build_thread * 10 + 10000;
+  if ( $baseport < 5001 or $baseport + 9 >= 32767 )
+  {
+    mtr_error("MTR_BUILD_THREAD number results in a port",
+              "outside 5001 - 32767",
+              "($baseport - $baseport + 9)");
+  }
+
+  mtr_report("Using MTR_BUILD_THREAD $build_thread,",
+	     "with reserved ports $baseport..".($baseport+9));
+
+}
+
+
+sub collect_mysqld_features {
+  my $found_variable_list_start= 0;
+  my $use_tmpdir;
+  if ( defined $opt_tmpdir and -d $opt_tmpdir){
+    # Create the tempdir in $opt_tmpdir
+    $use_tmpdir= $opt_tmpdir;
+  }
+  my $tmpdir= tempdir(CLEANUP => 0, # Directory removed by this function
+		      DIR => $use_tmpdir);
+
+  #
+  # Execute "mysqld --no-defaults --help --verbose" to get a
+  # list of all features and settings
+  #
+  # --no-defaults and --skip-grant-tables are to avoid loading
+  # system-wide configs and plugins
+  #
+  # --datadir must exist, mysqld will chdir into it
+  #
+  my $args;
+  mtr_init_args(\$args);
+  mtr_add_arg($args, "--no-defaults");
+  mtr_add_arg($args, "--datadir=%s", mixed_path($tmpdir));
+  mtr_add_arg($args, "--lc-messages-dir=%s", $path_language);
+  mtr_add_arg($args, "--skip-grant-tables");
+  mtr_add_arg($args, "--verbose");
+  mtr_add_arg($args, "--help");
+
+  # Need --user=root if running as *nix root user
+  if (!IS_WINDOWS and $> == 0)
+  {
+    mtr_add_arg($args, "--user=root");
+  }
+
+  my $exe_mysqld= find_mysqld($basedir);
+  my $cmd= join(" ", $exe_mysqld, @$args);
+  my $list= `$cmd`;
+
+  foreach my $line (split('\n', $list))
+  {
+    # First look for version
+    if ( !$mysql_version_id )
+    {
+      # Look for version
+      my $exe_name= basename($exe_mysqld);
+      mtr_verbose("exe_name: $exe_name");
+      if ( $line =~ /^\S*$exe_name\s\sVer\s([0-9]*)\.([0-9]*)\.([0-9]*)([^\s]*)/ )
+      {
+	#print "Major: $1 Minor: $2 Build: $3\n";
+	$mysql_version_id= $1*10000 + $2*100 + $3;
+	#print "mysql_version_id: $mysql_version_id\n";
+	mtr_report("MySQL Version $1.$2.$3");
+	$mysql_version_extra= $4;
+      }
+    }
+    else
+    {
+      if (!$found_variable_list_start)
+      {
+	# Look for start of variables list
+	if ( $line =~ /[\-]+\s[\-]+/ )
+	{
+	  $found_variable_list_start= 1;
+	}
+      }
+      else
+      {
+	# Put variables into hash
+	if ( $line =~ /^([\S]+)[ \t]+(.*?)\r?$/ )
+	{
+	  # print "$1=\"$2\"\n";
+	  $mysqld_variables{$1}= $2;
+	}
+	else
+	{
+	  # The variable list is ended with a blank line
+	  if ( $line =~ /^[\s]*$/ )
+	  {
+	    last;
+	  }
+	  else
+	  {
+	    # Send out a warning, we should fix the variables that has no
+	    # space between variable name and it's value
+	    # or should it be fixed width column parsing? It does not
+	    # look like that in function my_print_variables in my_getopt.c
+	    mtr_warning("Could not parse variable list line : $line");
+	  }
+	}
+      }
+    }
+  }
+  rmtree($tmpdir);
+  mtr_error("Could not find version of MySQL") unless $mysql_version_id;
+  mtr_error("Could not find variabes list") unless $found_variable_list_start;
+
+}
+
+
+
+sub collect_mysqld_features_from_running_server ()
+{
+  my $mysql= mtr_exe_exists("$path_client_bindir/mysql");
+
+  my $args;
+  mtr_init_args(\$args);
+
+  mtr_add_arg($args, "--no-defaults");
+  mtr_add_arg($args, "--user=%s", $opt_user);
+
+  while (my ($option, $value)= each( %opts_extern )) {
+    mtr_add_arg($args, "--$option=$value");
+  }
+
+  mtr_add_arg($args, "--silent"); # Tab separated output
+  mtr_add_arg($args, "-e '%s'", "use mysql; SHOW VARIABLES");
+  my $cmd= "$mysql " . join(' ', @$args);
+  mtr_verbose("cmd: $cmd");
+
+  my $list = `$cmd` or
+    mtr_error("Could not connect to extern server using command: '$cmd'");
+  foreach my $line (split('\n', $list ))
+  {
+    # Put variables into hash
+    if ( $line =~ /^([\S]+)[ \t]+(.*?)\r?$/ )
+    {
+      # print "$1=\"$2\"\n";
+      $mysqld_variables{$1}= $2;
+    }
+  }
+
+  # "Convert" innodb flag
+  $mysqld_variables{'innodb'}= "ON"
+    if ($mysqld_variables{'have_innodb'} eq "YES");
+
+  # Parse version
+  my $version_str= $mysqld_variables{'version'};
+  if ( $version_str =~ /^([0-9]*)\.([0-9]*)\.([0-9]*)([^\s]*)/ )
+  {
+    #print "Major: $1 Minor: $2 Build: $3\n";
+    $mysql_version_id= $1*10000 + $2*100 + $3;
+    #print "mysql_version_id: $mysql_version_id\n";
+    mtr_report("MySQL Version $1.$2.$3");
+    $mysql_version_extra= $4;
+  }
+  mtr_error("Could not find version of MySQL") unless $mysql_version_id;
+}
+
+sub find_mysqld {
+
+  my ($mysqld_basedir)= $ENV{MTR_BINDIR}|| @_;
+
+  my @mysqld_names= ("mysqld", "mysqld-max-nt", "mysqld-max",
+		     "mysqld-nt");
+
+  if ( $opt_debug_server ){
+    # Put mysqld-debug first in the list of binaries to look for
+    mtr_verbose("Adding mysqld-debug first in list of binaries to look for");
+    unshift(@mysqld_names, "mysqld-debug");
+  }
+
+  return my_find_bin($mysqld_basedir,
+		     ["sql", "libexec", "sbin", "bin"],
+		     [@mysqld_names]);
+}
+
+
+sub executable_setup () {
+
+  #
+  # Check if libtool is available in this distribution/clone
+  # we need it when valgrinding or debugging non installed binary
+  # Otherwise valgrind will valgrind the libtool wrapper or bash
+  # and gdb will not find the real executable to debug
+  #
+  if ( -x "../libtool")
+  {
+    $exe_libtool= "../libtool";
+    if ($opt_valgrind or $glob_debugger)
+    {
+      mtr_report("Using \"$exe_libtool\" when running valgrind or debugger");
+    }
+  }
+
+  # Look for the client binaries
+  $exe_mysqladmin=     mtr_exe_exists("$path_client_bindir/mysqladmin");
+  $exe_mysql=          mtr_exe_exists("$path_client_bindir/mysql");
+  $exe_mysql_plugin=   mtr_exe_exists("$path_client_bindir/mysql_plugin");
+
+  $exe_mysql_embedded= mtr_exe_maybe_exists("$basedir/libmysqld/examples/mysql_embedded");
+
+  if ( $ndbcluster_enabled )
+  {
+    # Look for single threaded NDB
+    $exe_ndbd=
+      my_find_bin($bindir,
+		  ["storage/ndb/src/kernel", "libexec", "sbin", "bin"],
+		  "ndbd");
+
+    # Look for multi threaded NDB
+    $exe_ndbmtd=
+      my_find_bin($bindir,
+		  ["storage/ndb/src/kernel", "libexec", "sbin", "bin"],
+		  "ndbmtd", NOT_REQUIRED);
+    if ($exe_ndbmtd)
+    {
+      my $mtr_ndbmtd = $ENV{MTR_NDBMTD};
+      if ($mtr_ndbmtd)
+      {
+	mtr_report(" - multi threaded ndbd found, will be used always");
+	$exe_ndbd = $exe_ndbmtd;
+      }
+      else
+      {
+	mtr_report(" - multi threaded ndbd found, will be ".
+		   "used \"round robin\"");
+      }
+    }
+
+    $exe_ndb_mgmd=
+      my_find_bin($bindir,
+		  ["storage/ndb/src/mgmsrv", "libexec", "sbin", "bin"],
+		  "ndb_mgmd");
+
+    $exe_ndb_mgm=
+      my_find_bin($bindir,
+                  ["storage/ndb/src/mgmclient", "bin"],
+                  "ndb_mgm");
+
+    $exe_ndb_waiter=
+      my_find_bin($bindir,
+		  ["storage/ndb/tools/", "bin"],
+		  "ndb_waiter");
+
+  }
+
+  # Look for mysqltest executable
+  if ( $opt_embedded_server )
+  {
+    $exe_mysqltest=
+      mtr_exe_exists(vs_config_dirs('libmysqld/examples','mysqltest_embedded'),
+                     "$basedir/libmysqld/examples/mysqltest_embedded",
+                     "$path_client_bindir/mysqltest_embedded");
+  }
+  else
+  {
+    if ( defined $ENV{'MYSQL_TEST'} )
+    {
+      $exe_mysqltest=$ENV{'MYSQL_TEST'};
+      print "===========================================================\n";
+      print "WARNING:The mysqltest binary is fetched from $exe_mysqltest\n";
+      print "===========================================================\n";
+    }
+    else
+    {
+      $exe_mysqltest= mtr_exe_exists("$path_client_bindir/mysqltest");
+    }
+  }
+
+}
+
+
+sub client_debug_arg($$) {
+  my ($args, $client_name)= @_;
+
+  # Workaround for Bug #50627: drop any debug opt
+  return if $client_name =~ /^mysqlbinlog/;
+
+  if ( $opt_debug ) {
+    mtr_add_arg($args,
+		"--loose-debug=$debug_d:t:A,%s/log/%s.trace",
+		$path_vardir_trace, $client_name)
+  }
+}
+
+
+sub client_arguments ($;$) {
+ my $client_name= shift;
+  my $group_suffix= shift;
+  my $client_exe= mtr_exe_exists("$path_client_bindir/$client_name");
+
+  my $args;
+  mtr_init_args(\$args);
+  mtr_add_arg($args, "--defaults-file=%s", $path_config_file);
+  if (defined($group_suffix)) {
+    mtr_add_arg($args, "--defaults-group-suffix=%s", $group_suffix);
+    client_debug_arg($args, "$client_name-$group_suffix");
+  }
+  else
+  {
+    client_debug_arg($args, $client_name);
+  }
+  return mtr_args2str($client_exe, @$args);
+}
+
+
+sub mysqlslap_arguments () {
+  my $exe= mtr_exe_maybe_exists("$path_client_bindir/mysqlslap");
+  if ( $exe eq "" ) {
+    # mysqlap was not found
+
+    if (defined $mysql_version_id and $mysql_version_id >= 50100 ) {
+      mtr_error("Could not find the mysqlslap binary");
+    }
+    return ""; # Don't care about mysqlslap
+  }
+
+  my $args;
+  mtr_init_args(\$args);
+  mtr_add_arg($args, "--defaults-file=%s", $path_config_file);
+  client_debug_arg($args, "mysqlslap");
+  return mtr_args2str($exe, @$args);
+}
+
+
+sub mysqldump_arguments ($) {
+  my($group_suffix) = @_;
+  my $exe= mtr_exe_exists("$path_client_bindir/mysqldump");
+
+  my $args;
+  mtr_init_args(\$args);
+  mtr_add_arg($args, "--defaults-file=%s", $path_config_file);
+  mtr_add_arg($args, "--defaults-group-suffix=%s", $group_suffix);
+  client_debug_arg($args, "mysqldump-$group_suffix");
+  return mtr_args2str($exe, @$args);
+}
+
+
+sub mysql_client_test_arguments(){
+  my $exe;
+  # mysql_client_test executable may _not_ exist
+  if ( $opt_embedded_server ) {
+    $exe= mtr_exe_maybe_exists(
+            vs_config_dirs('libmysqld/examples','mysql_client_test_embedded'),
+	      "$basedir/libmysqld/examples/mysql_client_test_embedded",
+		"$basedir/bin/mysql_client_test_embedded");
+  } else {
+    $exe= mtr_exe_maybe_exists(vs_config_dirs('tests', 'mysql_client_test'),
+			       "$basedir/tests/mysql_client_test",
+			       "$basedir/bin/mysql_client_test");
+  }
+
+  my $args;
+  mtr_init_args(\$args);
+  if ( $opt_valgrind_mysqltest ) {
+    valgrind_arguments($args, \$exe);
+  }
+  mtr_add_arg($args, "--defaults-file=%s", $path_config_file);
+  mtr_add_arg($args, "--testcase");
+  mtr_add_arg($args, "--vardir=$opt_vardir");
+  client_debug_arg($args,"mysql_client_test");
+
+  return mtr_args2str($exe, @$args);
+}
+
+
+#
+# Set environment to be used by childs of this process for
+# things that are constant during the whole lifetime of mysql-test-run
+#
+
+sub find_plugin($$)
+{
+  my ($plugin, $location)  = @_;
+  my $plugin_filename;
+
+  if (IS_WINDOWS)
+  {
+     $plugin_filename = $plugin.".dll"; 
+  }
+  else 
+  {
+     $plugin_filename = $plugin.".so";
+  }
+
+  my $lib_plugin=
+    mtr_file_exists(vs_config_dirs($location,$plugin_filename),
+                    "$basedir/lib/plugin/".$plugin_filename,
+                    "$basedir/lib64/plugin/".$plugin_filename,
+                    "$basedir/$location/.libs/".$plugin_filename,
+                    "$basedir/lib/mysql/plugin/".$plugin_filename,
+                    "$basedir/lib64/mysql/plugin/".$plugin_filename,
+                    );
+  return $lib_plugin;
+}
+
+#
+# Read plugin defintions file
+#
+
+sub read_plugin_defs($)
+{
+  my ($defs_file)= @_;
+  my $running_debug= 0;
+
+  open(PLUGDEF, '<', $defs_file)
+    or mtr_error("Can't read plugin defintions file $defs_file");
+
+  # Need to check if we will be running mysqld-debug
+  if ($opt_debug_server) {
+    $running_debug= 1 if find_mysqld($basedir) =~ /mysqld-debug/;
+  }
+
+  while (<PLUGDEF>) {
+    next if /^#/;
+    my ($plug_file, $plug_loc, $plug_var, $plug_names)= split;
+    # Allow empty lines
+    next unless $plug_file;
+    mtr_error("Lines in $defs_file must have 3 or 4 items") unless $plug_var;
+
+    # If running debug server, plugins will be in 'debug' subdirectory
+    $plug_file= "debug/$plug_file" if $running_debug;
+
+    my ($plugin)= find_plugin($plug_file, $plug_loc);
+
+    # Set env. variables that tests may use, set to empty if plugin
+    # listed in def. file but not found.
+
+    if ($plugin) {
+      $ENV{$plug_var}= basename($plugin);
+      $ENV{$plug_var.'_DIR'}= dirname($plugin);
+      $ENV{$plug_var.'_OPT'}= "--plugin-dir=".dirname($plugin);
+      if ($plug_names) {
+	my $lib_name= basename($plugin);
+	my $load_var= "--plugin_load=";
+	my $semi= '';
+	foreach my $plug_name (split (',', $plug_names)) {
+	  $load_var .= $semi . "$plug_name=$lib_name";
+	  $semi= ';';
+	}
+	$ENV{$plug_var.'_LOAD'}= $load_var;
+      }
+    } else {
+      $ENV{$plug_var}= "";
+      $ENV{$plug_var.'_DIR'}= "";
+      $ENV{$plug_var.'_OPT'}= "";
+      $ENV{$plug_var.'_LOAD'}= "" if $plug_names;
+    }
+  }
+  close PLUGDEF;
+}
+
+sub environment_setup {
+
+  umask(022);
+
+  my @ld_library_paths;
+
+  if ($path_client_libdir)
+  {
+    # Use the --client-libdir passed on commandline
+    push(@ld_library_paths, "$path_client_libdir");
+  }
+  else
+  {
+    # Setup LD_LIBRARY_PATH so the libraries from this distro/clone
+    # are used in favor of the system installed ones
+    if ( $source_dist )
+    {
+      push(@ld_library_paths, "$basedir/libmysql/.libs/",
+	   "$basedir/libmysql_r/.libs/",
+	   "$basedir/zlib/.libs/");
+    }
+    else
+    {
+      push(@ld_library_paths, "$basedir/lib", "$basedir/lib/mysql");
+    }
+  }
+
+  # --------------------------------------------------------------------------
+  # Add the path where libndbclient can be found
+  # --------------------------------------------------------------------------
+  if ( $ndbcluster_enabled )
+  {
+    push(@ld_library_paths,  "$basedir/storage/ndb/src/.libs");
+  }
+
+  # Plugin settings should no longer be added here, instead
+  # place definitions in include/plugin.defs.
+  # See comment in that file for details.
+  # --------------------------------------------------------------------------
+  # Valgrind need to be run with debug libraries otherwise it's almost
+  # impossible to add correct supressions, that means if "/usr/lib/debug"
+  # is available, it should be added to
+  # LD_LIBRARY_PATH
+  #
+  # But pthread is broken in libc6-dbg on Debian <= 3.1 (see Debian
+  # bug 399035, http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=399035),
+  # so don't change LD_LIBRARY_PATH on that platform.
+  # --------------------------------------------------------------------------
+  my $debug_libraries_path= "/usr/lib/debug";
+  my $deb_version;
+  if (  $opt_valgrind and -d $debug_libraries_path and
+        (! -e '/etc/debian_version' or
+	 ($deb_version=
+	    mtr_grab_file('/etc/debian_version')) !~ /^[0-9]+\.[0-9]$/ or
+         $deb_version > 3.1 ) )
+  {
+    push(@ld_library_paths, $debug_libraries_path);
+  }
+
+  $ENV{'LD_LIBRARY_PATH'}= join(":", @ld_library_paths,
+				$ENV{'LD_LIBRARY_PATH'} ?
+				split(':', $ENV{'LD_LIBRARY_PATH'}) : ());
+  mtr_debug("LD_LIBRARY_PATH: $ENV{'LD_LIBRARY_PATH'}");
+
+  $ENV{'DYLD_LIBRARY_PATH'}= join(":", @ld_library_paths,
+				  $ENV{'DYLD_LIBRARY_PATH'} ?
+				  split(':', $ENV{'DYLD_LIBRARY_PATH'}) : ());
+  mtr_debug("DYLD_LIBRARY_PATH: $ENV{'DYLD_LIBRARY_PATH'}");
+
+  # The environment variable used for shared libs on AIX
+  $ENV{'SHLIB_PATH'}= join(":", @ld_library_paths,
+                           $ENV{'SHLIB_PATH'} ?
+                           split(':', $ENV{'SHLIB_PATH'}) : ());
+  mtr_debug("SHLIB_PATH: $ENV{'SHLIB_PATH'}");
+
+  # The environment variable used for shared libs on hp-ux
+  $ENV{'LIBPATH'}= join(":", @ld_library_paths,
+                        $ENV{'LIBPATH'} ?
+                        split(':', $ENV{'LIBPATH'}) : ());
+  mtr_debug("LIBPATH: $ENV{'LIBPATH'}");
+
+  $ENV{'UMASK'}=              "0660"; # The octal *string*
+  $ENV{'UMASK_DIR'}=          "0770"; # The octal *string*
+
+  #
+  # MySQL tests can produce output in various character sets
+  # (especially, ctype_xxx.test). To avoid confusing Perl
+  # with output which is incompatible with the current locale
+  # settings, we reset the current values of LC_ALL and LC_CTYPE to "C".
+  # For details, please see
+  # Bug#27636 tests fails if LC_* variables set to *_*.UTF-8
+  #
+  $ENV{'LC_ALL'}=             "C";
+  $ENV{'LC_CTYPE'}=           "C";
+
+  $ENV{'LC_COLLATE'}=         "C";
+  $ENV{'USE_RUNNING_SERVER'}= using_extern();
+  $ENV{'MYSQL_TEST_DIR'}=     $glob_mysql_test_dir;
+  $ENV{'DEFAULT_MASTER_PORT'}= $mysqld_variables{'port'};
+  $ENV{'MYSQL_TMP_DIR'}=      $opt_tmpdir;
+  $ENV{'MYSQLTEST_VARDIR'}=   $opt_vardir;
+  $ENV{'MYSQL_BINDIR'}=       "$bindir";
+  $ENV{'MYSQL_SHAREDIR'}=     $path_language;
+  $ENV{'MYSQL_CHARSETSDIR'}=  $path_charsetsdir;
+  
+  if (IS_WINDOWS)
+  {
+    $ENV{'SECURE_LOAD_PATH'}= $glob_mysql_test_dir."\\std_data";
+  }
+  else
+  {
+    $ENV{'SECURE_LOAD_PATH'}= $glob_mysql_test_dir."/std_data";
+  }
+    
+
+  # ----------------------------------------------------
+  # Setup env for NDB
+  # ----------------------------------------------------
+  if ( $ndbcluster_enabled )
+  {
+    $ENV{'NDB_MGM'}=
+      my_find_bin($bindir,
+		  ["storage/ndb/src/mgmclient", "bin"],
+		  "ndb_mgm");
+
+    $ENV{'NDB_TOOLS_DIR'}=
+      my_find_dir($bindir,
+		  ["storage/ndb/tools", "bin"]);
+
+    $ENV{'NDB_EXAMPLES_DIR'}=
+      my_find_dir($basedir,
+		  ["storage/ndb/ndbapi-examples", "bin"]);
+
+    $ENV{'NDB_EXAMPLES_BINARY'}=
+      my_find_bin($bindir,
+		  ["storage/ndb/ndbapi-examples/ndbapi_simple", "bin"],
+		  "ndbapi_simple", NOT_REQUIRED);
+
+    my $path_ndb_testrun_log= "$opt_vardir/log/ndb_testrun.log";
+    $ENV{'NDB_TOOLS_OUTPUT'}=         $path_ndb_testrun_log;
+    $ENV{'NDB_EXAMPLES_OUTPUT'}=      $path_ndb_testrun_log;
+  }
+
+  # ----------------------------------------------------
+  # mysql clients
+  # ----------------------------------------------------
+  $ENV{'MYSQL_CHECK'}=              client_arguments("mysqlcheck");
+  $ENV{'MYSQL_DUMP'}=               mysqldump_arguments(".1");
+  $ENV{'MYSQL_DUMP_SLAVE'}=         mysqldump_arguments(".2");
+  $ENV{'MYSQL_SLAP'}=               mysqlslap_arguments();
+  $ENV{'MYSQL_IMPORT'}=             client_arguments("mysqlimport");
+  $ENV{'MYSQL_SHOW'}=               client_arguments("mysqlshow");
+  $ENV{'MYSQL_BINLOG'}=             client_arguments("mysqlbinlog");
+  $ENV{'MYSQL'}=                    client_arguments("mysql");
+  $ENV{'MYSQL_SLAVE'}=              client_arguments("mysql", ".2");
+  $ENV{'MYSQL_UPGRADE'}=            client_arguments("mysql_upgrade");
+  $ENV{'MYSQLADMIN'}=               native_path($exe_mysqladmin);
+  $ENV{'MYSQL_CLIENT_TEST'}=        mysql_client_test_arguments();
+  $ENV{'EXE_MYSQL'}=                $exe_mysql;
+  $ENV{'MYSQL_PLUGIN'}=             $exe_mysql_plugin;
+  $ENV{'MYSQL_EMBEDDED'}=           $exe_mysql_embedded;
+
+  my $exe_mysqld= find_mysqld($basedir);
+  $ENV{'MYSQLD'}= $exe_mysqld;
+  my $extra_opts= join (" ", @opt_extra_mysqld_opt);
+  $ENV{'MYSQLD_CMD'}= "$exe_mysqld --defaults-group-suffix=.1 ".
+    "--defaults-file=$path_config_file $extra_opts";
+
+  # ----------------------------------------------------
+  # bug25714 executable may _not_ exist in
+  # some versions, test using it should be skipped
+  # ----------------------------------------------------
+  my $exe_bug25714=
+      mtr_exe_maybe_exists(vs_config_dirs('tests', 'bug25714'),
+                           "$basedir/tests/bug25714");
+  $ENV{'MYSQL_BUG25714'}=  native_path($exe_bug25714);
+
+  # ----------------------------------------------------
+  # mysql_fix_privilege_tables.sql
+  # ----------------------------------------------------
+  my $file_mysql_fix_privilege_tables=
+    mtr_file_exists("$basedir/scripts/mysql_fix_privilege_tables.sql",
+		    "$basedir/share/mysql_fix_privilege_tables.sql",
+		    "$basedir/share/mysql/mysql_fix_privilege_tables.sql");
+  $ENV{'MYSQL_FIX_PRIVILEGE_TABLES'}=  $file_mysql_fix_privilege_tables;
+
+  # ----------------------------------------------------
+  # my_print_defaults
+  # ----------------------------------------------------
+  my $exe_my_print_defaults=
+    mtr_exe_exists(vs_config_dirs('extra', 'my_print_defaults'),
+		   "$path_client_bindir/my_print_defaults",
+		   "$basedir/extra/my_print_defaults");
+  $ENV{'MYSQL_MY_PRINT_DEFAULTS'}= native_path($exe_my_print_defaults);
+
+  # ----------------------------------------------------
+  # Setup env so childs can execute myisampack and myisamchk
+  # ----------------------------------------------------
+  $ENV{'MYISAMCHK'}= native_path(mtr_exe_exists(
+                       vs_config_dirs('storage/myisam', 'myisamchk'),
+                       vs_config_dirs('myisam', 'myisamchk'),
+                       "$path_client_bindir/myisamchk",
+                       "$basedir/storage/myisam/myisamchk",
+                       "$basedir/myisam/myisamchk"));
+  $ENV{'MYISAMPACK'}= native_path(mtr_exe_exists(
+                        vs_config_dirs('storage/myisam', 'myisampack'),
+                        vs_config_dirs('myisam', 'myisampack'),
+                        "$path_client_bindir/myisampack",
+                        "$basedir/storage/myisam/myisampack",
+                        "$basedir/myisam/myisampack"));
+
+  # ----------------------------------------------------
+  # mysqlhotcopy
+  # ----------------------------------------------------
+  my $mysqlhotcopy=
+    mtr_pl_maybe_exists("$bindir/scripts/mysqlhotcopy") ||
+    mtr_pl_maybe_exists("$path_client_bindir/mysqlhotcopy");
+  if ($mysqlhotcopy)
+  {
+    $ENV{'MYSQLHOTCOPY'}= $mysqlhotcopy;
+  }
+
+  # ----------------------------------------------------
+  # perror
+  # ----------------------------------------------------
+  my $exe_perror= mtr_exe_exists(vs_config_dirs('extra', 'perror'),
+				 "$basedir/extra/perror",
+				 "$path_client_bindir/perror");
+  $ENV{'MY_PERROR'}= native_path($exe_perror);
+
+  # ----------------------------------------------------
+  # replace
+  # ----------------------------------------------------
+  my $exe_replace= mtr_exe_exists(vs_config_dirs('extra', 'replace'),
+                                 "$basedir/extra/replace",
+                                 "$path_client_bindir/replace");
+  $ENV{'REPLACE'}= native_path($exe_replace);
+
+  # Create an environment variable to make it possible
+  # to detect that valgrind is being used from test cases
+  $ENV{'VALGRIND_TEST'}= $opt_valgrind;
+
+  # Add dir of this perl to aid mysqltest in finding perl
+  my $perldir= dirname($^X);
+  my $pathsep= ":";
+  $pathsep= ";" if IS_WINDOWS && ! IS_CYGWIN;
+  $ENV{'PATH'}= "$ENV{'PATH'}".$pathsep.$perldir;
+}
+
+
+sub remove_vardir_subs() {
+  foreach my $sdir ( glob("$opt_vardir/*") ) {
+    mtr_verbose("Removing subdir $sdir");
+    rmtree($sdir);
+  }
+}
+
+#
+# Remove var and any directories in var/ created by previous
+# tests
+#
+sub remove_stale_vardir () {
+
+  mtr_report("Removing old var directory...");
+
+  # Safety!
+  mtr_error("No, don't remove the vardir when running with --extern")
+    if using_extern();
+
+  mtr_verbose("opt_vardir: $opt_vardir");
+  if ( $opt_vardir eq $default_vardir )
+  {
+    #
+    # Running with "var" in mysql-test dir
+    #
+    if ( -l $opt_vardir)
+    {
+      # var is a symlink
+
+      if ( $opt_mem )
+      {
+	# Remove the directory which the link points at
+	mtr_verbose("Removing " . readlink($opt_vardir));
+	rmtree(readlink($opt_vardir));
+
+	# Remove the "var" symlink
+	mtr_verbose("unlink($opt_vardir)");
+	unlink($opt_vardir);
+      }
+      else
+      {
+	# Some users creates a soft link in mysql-test/var to another area
+	# - allow it, but remove all files in it
+
+	mtr_report(" - WARNING: Using the 'mysql-test/var' symlink");
+
+	# Make sure the directory where it points exist
+	mtr_error("The destination for symlink $opt_vardir does not exist")
+	  if ! -d readlink($opt_vardir);
+
+	remove_vardir_subs();
+      }
+    }
+    else
+    {
+      # Remove the entire "var" dir
+      mtr_verbose("Removing $opt_vardir/");
+      rmtree("$opt_vardir/");
+    }
+
+    if ( $opt_mem )
+    {
+      # A symlink from var/ to $opt_mem will be set up
+      # remove the $opt_mem dir to assure the symlink
+      # won't point at an old directory
+      mtr_verbose("Removing $opt_mem");
+      rmtree($opt_mem);
+    }
+
+  }
+  else
+  {
+    #
+    # Running with "var" in some other place
+    #
+
+    # Remove the var/ dir in mysql-test dir if any
+    # this could be an old symlink that shouldn't be there
+    mtr_verbose("Removing $default_vardir");
+    rmtree($default_vardir);
+
+    # Remove the "var" dir
+    mtr_verbose("Removing $opt_vardir/");
+    rmtree("$opt_vardir/");
+  }
+  # Remove the "tmp" dir
+  mtr_verbose("Removing $opt_tmpdir/");
+  rmtree("$opt_tmpdir/");
+}
+
+
+
+#
+# Create var and the directories needed in var
+#
+sub setup_vardir() {
+  mtr_report("Creating var directory '$opt_vardir'...");
+
+  if ( $opt_vardir eq $default_vardir )
+  {
+    #
+    # Running with "var" in mysql-test dir
+    #
+    if ( -l $opt_vardir )
+    {
+      #  it's a symlink
+
+      # Make sure the directory where it points exist
+      mtr_error("The destination for symlink $opt_vardir does not exist")
+	if ! -d readlink($opt_vardir);
+    }
+    elsif ( $opt_mem )
+    {
+      # Runinng with "var" as a link to some "memory" location, normally tmpfs
+      mtr_verbose("Creating $opt_mem");
+      mkpath($opt_mem);
+
+      mtr_report(" - symlinking 'var' to '$opt_mem'");
+      symlink($opt_mem, $opt_vardir);
+    }
+  }
+
+  if ( ! -d $opt_vardir )
+  {
+    mtr_verbose("Creating $opt_vardir");
+    mkpath($opt_vardir);
+  }
+
+  # Ensure a proper error message if vardir couldn't be created
+  unless ( -d $opt_vardir and -w $opt_vardir )
+  {
+    mtr_error("Writable 'var' directory is needed, use the " .
+	      "'--vardir=<path>' option");
+  }
+
+  mkpath("$opt_vardir/log");
+  mkpath("$opt_vardir/run");
+
+  # Create var/tmp and tmp - they might be different
+  mkpath("$opt_vardir/tmp");
+  mkpath($opt_tmpdir) if ($opt_tmpdir ne "$opt_vardir/tmp");
+
+  # On some operating systems, there is a limit to the length of a
+  # UNIX domain socket's path far below PATH_MAX.
+  # Don't allow that to happen
+  if (check_socket_path_length("$opt_tmpdir/testsocket.sock")){
+    mtr_error("Socket path '$opt_tmpdir' too long, it would be ",
+	      "truncated and thus not possible to use for connection to ",
+	      "MySQL Server. Set a shorter with --tmpdir=<path> option");
+  }
+
+  # copy all files from std_data into var/std_data
+  # and make them world readable
+  copytree("$glob_mysql_test_dir/std_data", "$opt_vardir/std_data", "0022");
+
+  # Remove old log files
+  foreach my $name (glob("r/*.progress r/*.log r/*.warnings"))
+  {
+    unlink($name);
+  }
+}
+
+
+#
+# Check if running as root
+# i.e a file can be read regardless what mode we set it to
+#
+sub  check_running_as_root () {
+  my $test_file= "$opt_vardir/test_running_as_root.txt";
+  mtr_tofile($test_file, "MySQL");
+  chmod(oct("0000"), $test_file);
+
+  my $result="";
+  if (open(FILE,"<",$test_file))
+  {
+    $result= join('', <FILE>);
+    close FILE;
+  }
+
+  # Some filesystems( for example CIFS) allows reading a file
+  # although mode was set to 0000, but in that case a stat on
+  # the file will not return 0000
+  my $file_mode= (stat($test_file))[2] & 07777;
+
+  mtr_verbose("result: $result, file_mode: $file_mode");
+  if ($result eq "MySQL" && $file_mode == 0)
+  {
+    mtr_warning("running this script as _root_ will cause some " .
+                "tests to be skipped");
+    $ENV{'MYSQL_TEST_ROOT'}= "YES";
+  }
+
+  chmod(oct("0755"), $test_file);
+  unlink($test_file);
+}
+
+
+sub check_ssl_support ($) {
+  my $mysqld_variables= shift;
+
+  if ($opt_skip_ssl)
+  {
+    mtr_report(" - skipping SSL");
+    $opt_ssl_supported= 0;
+    $opt_ssl= 0;
+    return;
+  }
+
+  if ( ! $mysqld_variables->{'ssl'} )
+  {
+    if ( $opt_ssl)
+    {
+      mtr_error("Couldn't find support for SSL");
+      return;
+    }
+    mtr_report(" - skipping SSL, mysqld not compiled with SSL");
+    $opt_ssl_supported= 0;
+    $opt_ssl= 0;
+    return;
+  }
+  mtr_report(" - SSL connections supported");
+  $opt_ssl_supported= 1;
+}
+
+
+sub check_debug_support ($) {
+  my $mysqld_variables= shift;
+
+  if ( ! $mysqld_variables->{'debug'} )
+  {
+    #mtr_report(" - binaries are not debug compiled");
+    $debug_compiled_binaries= 0;
+
+    if ( $opt_debug_server )
+    {
+      mtr_error("Can't use --debug[-server], binary does not support it");
+    }
+    return;
+  }
+  mtr_report(" - binaries are debug compiled");
+  $debug_compiled_binaries= 1;
+}
+
+
+#
+# Helper function to handle configuration-based subdirectories which Visual
+# Studio uses for storing binaries.  If opt_vs_config is set, this returns
+# a path based on that setting; if not, it returns paths for the default
+# /release/ and /debug/ subdirectories.
+#
+# $exe can be undefined, if the directory itself will be used
+#
+sub vs_config_dirs ($$) {
+  my ($path_part, $exe) = @_;
+
+  $exe = "" if not defined $exe;
+  if ($opt_vs_config)
+  {
+    return ("$bindir/$path_part/$opt_vs_config/$exe");
+  }
+
+  return ("$bindir/$path_part/Release/$exe",
+          "$bindir/$path_part/RelWithDebinfo/$exe",
+          "$bindir/$path_part/Debug/$exe",
+          "$bindir/$path_part/$exe");
+}
+
+
+sub check_ndbcluster_support ($) {
+  my $mysqld_variables= shift;
+
+  my $ndbcluster_supported = 0;
+  if ($mysqld_variables{'ndb-connectstring'})
+  {
+    $ndbcluster_supported = 1;
+  }
+
+  if ($opt_skip_ndbcluster && $opt_include_ndbcluster)
+  {
+    # User is ambivalent. Theoretically the arg which was
+    # given last on command line should win, but that order is
+    # unknown at this time.
+    mtr_error("Ambigous command, both --include-ndbcluster " .
+	      " and --skip-ndbcluster was specified");
+  }
+
+  # Check if this is MySQL Cluster, ie. mysql version string ends
+  # with -ndb-Y.Y.Y[-status]
+  if ( defined $mysql_version_extra &&
+       $mysql_version_extra =~ /-ndb-([0-9]*)\.([0-9]*)\.([0-9]*)/ )
+  {
+    # MySQL Cluster tree
+    mtr_report(" - MySQL Cluster detected");
+
+    if ($opt_skip_ndbcluster)
+    {
+      mtr_report(" - skipping ndbcluster(--skip-ndbcluster)");
+      return;
+    }
+
+    if (!$ndbcluster_supported)
+    {
+      # MySQL Cluster tree, but mysqld was not compiled with
+      # ndbcluster -> fail unless --skip-ndbcluster was used
+      mtr_error("This is MySQL Cluster but mysqld does not " .
+		"support ndbcluster. Use --skip-ndbcluster to " .
+		"force mtr to run without it.");
+    }
+
+    # mysqld was compiled with ndbcluster -> auto enable
+  }
+  else
+  {
+    # Not a MySQL Cluster tree
+    if (!$ndbcluster_supported)
+    {
+      if ($opt_include_ndbcluster)
+      {
+	mtr_error("Could not detect ndbcluster support ".
+		  "requested with --include-ndbcluster");
+      }
+
+      # Silently skip, mysqld was compiled without ndbcluster
+      # which is the default case
+      return;
+    }
+
+    if ($opt_skip_ndbcluster)
+    {
+      # Compiled with ndbcluster but ndbcluster skipped
+      mtr_report(" - skipping ndbcluster(--skip-ndbcluster)");
+      return;
+    }
+
+
+    # Not a MySQL Cluster tree, enable ndbcluster
+    # if --include-ndbcluster was used
+    if ($opt_include_ndbcluster)
+    {
+      # enable ndbcluster
+    }
+    else
+    {
+      mtr_report(" - skipping ndbcluster(disabled by default)");
+      return;
+    }
+  }
+
+  mtr_report(" - enabling ndbcluster");
+  $ndbcluster_enabled= 1;
+  # Add MySQL Cluster test suites
+  $DEFAULT_SUITES.=",ndb,ndb_binlog,rpl_ndb,ndb_rpl,ndb_memcache";
+  return;
+}
+
+
+sub ndbcluster_wait_started($$){
+  my $cluster= shift;
+  my $ndb_waiter_extra_opt= shift;
+  my $path_waitlog= join('/', $opt_vardir, $cluster->name(), "ndb_waiter.log");
+
+  my $args;
+  mtr_init_args(\$args);
+  mtr_add_arg($args, "--defaults-file=%s", $path_config_file);
+  mtr_add_arg($args, "--defaults-group-suffix=%s", $cluster->suffix());
+  mtr_add_arg($args, "--timeout=%d", $opt_start_timeout);
+
+  if ($ndb_waiter_extra_opt)
+  {
+    mtr_add_arg($args, "$ndb_waiter_extra_opt");
+  }
+
+  # Start the ndb_waiter which will connect to the ndb_mgmd
+  # and poll it for state of the ndbd's, will return when
+  # all nodes in the cluster is started
+
+  my $res= My::SafeProcess->run
+    (
+     name          => "ndb_waiter ".$cluster->name(),
+     path          => $exe_ndb_waiter,
+     args          => \$args,
+     output        => $path_waitlog,
+     error         => $path_waitlog,
+     append        => 1,
+    );
+
+  # Check that ndb_mgmd(s) are still alive
+  foreach my $ndb_mgmd ( in_cluster($cluster, ndb_mgmds()) )
+  {
+    my $proc= $ndb_mgmd->{proc};
+    if ( ! $proc->wait_one(0) )
+    {
+      mtr_warning("$proc died");
+      return 2;
+    }
+  }
+
+  # Check that all started ndbd(s) are still alive
+  foreach my $ndbd ( in_cluster($cluster, ndbds()) )
+  {
+    my $proc= $ndbd->{proc};
+    next unless defined $proc;
+    if ( ! $proc->wait_one(0) )
+    {
+      mtr_warning("$proc died");
+      return 3;
+    }
+  }
+
+  if ($res)
+  {
+    mtr_verbose("ndbcluster_wait_started failed");
+    return 1;
+  }
+  return 0;
+}
+
+
+sub ndb_mgmd_wait_started($) {
+  my ($cluster)= @_;
+
+  my $retries= 100;
+  while ($retries)
+  {
+    my $result= ndbcluster_wait_started($cluster, "--no-contact");
+    if ($result == 0)
+    {
+      # ndb_mgmd is started
+      mtr_verbose("ndb_mgmd is started");
+      return 0;
+    }
+    elsif ($result > 1)
+    {
+      mtr_warning("Cluster process failed while waiting for start");
+      return $result;
+    }
+
+    mtr_milli_sleep(100);
+    $retries--;
+  }
+
+  return 1;
+}
+
+sub ndb_mgmd_stop{
+  my $ndb_mgmd= shift or die "usage: ndb_mgmd_stop(<ndb_mgmd>)";
+
+  my $host=$ndb_mgmd->value('HostName');
+  my $port=$ndb_mgmd->value('PortNumber');
+  mtr_verbose("Stopping cluster '$host:$port'");
+
+  my $args;
+  mtr_init_args(\$args);
+  mtr_add_arg($args, "--ndb-connectstring=%s:%s", $host,$port);
+  mtr_add_arg($args, "-e");
+  mtr_add_arg($args, "shutdown");
+
+  My::SafeProcess->run
+    (
+     name          => "ndb_mgm shutdown $host:$port",
+     path          => $exe_ndb_mgm,
+     args          => \$args,
+     output         => "/dev/null",
+    );
+}
+
+sub ndb_mgmd_start ($$) {
+  my ($cluster, $ndb_mgmd)= @_;
+
+  mtr_verbose("ndb_mgmd_start");
+
+  my $dir= $ndb_mgmd->value("DataDir");
+  mkpath($dir) unless -d $dir;
+
+  my $args;
+  mtr_init_args(\$args);
+  mtr_add_arg($args, "--defaults-file=%s", $path_config_file);
+  mtr_add_arg($args, "--defaults-group-suffix=%s", $cluster->suffix());
+  mtr_add_arg($args, "--mycnf");
+  mtr_add_arg($args, "--nodaemon");
+
+  my $path_ndb_mgmd_log= "$dir/ndb_mgmd.log";
+
+  $ndb_mgmd->{'proc'}= My::SafeProcess->new
+    (
+     name          => $ndb_mgmd->after('cluster_config.'),
+     path          => $exe_ndb_mgmd,
+     args          => \$args,
+     output        => $path_ndb_mgmd_log,
+     error         => $path_ndb_mgmd_log,
+     append        => 1,
+     verbose       => $opt_verbose,
+     shutdown      => sub { ndb_mgmd_stop($ndb_mgmd) },
+    );
+  mtr_verbose("Started $ndb_mgmd->{proc}");
+
+  # FIXME Should not be needed
+  # Unfortunately the cluster nodes will fail to start
+  # if ndb_mgmd has not started properly
+  if (ndb_mgmd_wait_started($cluster))
+  {
+    mtr_warning("Failed to wait for start of ndb_mgmd");
+    return 1;
+  }
+
+  return 0;
+}
+
+sub ndbd_stop {
+  # Intentionally left empty, ndbd nodes will be shutdown
+  # by sending "shutdown" to ndb_mgmd
+}
+
+my $exe_ndbmtd_counter= 0;
+
+sub ndbd_start {
+  my ($cluster, $ndbd)= @_;
+
+  mtr_verbose("ndbd_start");
+
+  my $dir= $ndbd->value("DataDir");
+  mkpath($dir) unless -d $dir;
+
+  my $args;
+  mtr_init_args(\$args);
+  mtr_add_arg($args, "--defaults-file=%s", $path_config_file);
+  mtr_add_arg($args, "--defaults-group-suffix=%s", $cluster->suffix());
+  mtr_add_arg($args, "--nodaemon");
+
+# > 5.0 { 'character-sets-dir' => \&fix_charset_dir },
+
+  my $exe= $exe_ndbd;
+  if ($exe_ndbmtd and ($exe_ndbmtd_counter++ % 2) == 0)
+  {
+    # Use ndbmtd every other time
+    $exe= $exe_ndbmtd;
+  }
+
+  my $path_ndbd_log= "$dir/ndbd.log";
+  my $proc= My::SafeProcess->new
+    (
+     name          => $ndbd->after('cluster_config.'),
+     path          => $exe,
+     args          => \$args,
+     output        => $path_ndbd_log,
+     error         => $path_ndbd_log,
+     append        => 1,
+     verbose       => $opt_verbose,
+     shutdown      => sub { ndbd_stop($ndbd) },
+    );
+  mtr_verbose("Started $proc");
+
+  $ndbd->{proc}= $proc;
+
+  return;
+}
+
+
+sub ndbcluster_start ($) {
+  my $cluster= shift;
+
+  mtr_verbose("ndbcluster_start '".$cluster->name()."'");
+
+  foreach my $ndb_mgmd ( in_cluster($cluster, ndb_mgmds()) )
+  {
+    next if started($ndb_mgmd);
+    ndb_mgmd_start($cluster, $ndb_mgmd);
+  }
+
+  foreach my $ndbd ( in_cluster($cluster, ndbds()) )
+  {
+    next if started($ndbd);
+    ndbd_start($cluster, $ndbd);
+  }
+
+  return 0;
+}
+
+
+sub create_config_file_for_extern {
+  my %opts=
+    (
+     socket     => '/tmp/mysqld.sock',
+     port       => 3306,
+     user       => $opt_user,
+     password   => '',
+     @_
+    );
+
+  mtr_report("Creating my.cnf file for extern server...");
+  my $F= IO::File->new($path_config_file, "w")
+    or mtr_error("Can't write to $path_config_file: $!");
+
+  print $F "[client]\n";
+  while (my ($option, $value)= each( %opts )) {
+    print $F "$option= $value\n";
+    mtr_report(" $option= $value");
+  }
+
+  print $F <<EOF
+
+# binlog reads from [client] and [mysqlbinlog]
+[mysqlbinlog]
+character-sets-dir= $path_charsetsdir
+local-load= $opt_tmpdir
+
+EOF
+;
+
+  $F= undef; # Close file
+}
+
+
+#
+# Kill processes left from previous runs, normally
+# there should be none so make sure to warn
+# if there is one
+#
+sub kill_leftovers ($) {
+  my $rundir= shift;
+  return unless ( -d $rundir );
+
+  mtr_report("Checking leftover processes...");
+
+  # Scan the "run" directory for process id's to kill
+  opendir(RUNDIR, $rundir)
+    or mtr_error("kill_leftovers, can't open dir \"$rundir\": $!");
+  while ( my $elem= readdir(RUNDIR) )
+  {
+    # Only read pid from files that end with .pid
+    if ( $elem =~ /.*[.]pid$/ )
+    {
+      my $pidfile= "$rundir/$elem";
+      next unless -f $pidfile;
+      my $pid= mtr_fromfile($pidfile);
+      unlink($pidfile);
+      unless ($pid=~ /^(\d+)/){
+	# The pid was not a valid number
+	mtr_warning("Got invalid pid '$pid' from '$elem'");
+	next;
+      }
+      mtr_report(" - found old pid $pid in '$elem', killing it...");
+
+      my $ret= kill("KILL", $pid);
+      if ($ret == 0) {
+	mtr_report("   process did not exist!");
+	next;
+      }
+
+      my $check_counter= 100;
+      while ($ret > 0 and $check_counter--) {
+	mtr_milli_sleep(100);
+	$ret= kill(0, $pid);
+      }
+      mtr_report($check_counter ? "   ok!" : "   failed!");
+    }
+    else
+    {
+      mtr_warning("Found non pid file '$elem' in '$rundir'")
+	if -f "$rundir/$elem";
+    }
+  }
+  closedir(RUNDIR);
+}
+
+#
+# Check that all the ports that are going to
+# be used are free
+#
+sub check_ports_free ($)
+{
+  my $bthread= shift;
+  my $portbase = $bthread * 10 + 10000;
+  for ($portbase..$portbase+9){
+    if (mtr_ping_port($_)){
+      mtr_report(" - 'localhost:$_' was not free");
+      return 0; # One port was not free
+    }
+  }
+
+  return 1; # All ports free
+}
+
+
+sub initialize_servers {
+
+  if ( using_extern() )
+  {
+    # Running against an already started server, if the specified
+    # vardir does not already exist it should be created
+    if ( ! -d $opt_vardir )
+    {
+      setup_vardir();
+    }
+    else
+    {
+      mtr_verbose("No need to create '$opt_vardir' it already exists");
+    }
+  }
+  else
+  {
+    # Kill leftovers from previous run
+    # using any pidfiles found in var/run
+    kill_leftovers("$opt_vardir/run");
+
+    if ( ! $opt_start_dirty )
+    {
+      remove_stale_vardir();
+      setup_vardir();
+
+      mysql_install_db(default_mysqld(), "$opt_vardir/install.db");
+    }
+  }
+}
+
+
+#
+# Remove all newline characters expect after semicolon
+#
+sub sql_to_bootstrap {
+  my ($sql) = @_;
+  my @lines= split(/\n/, $sql);
+  my $result= "\n";
+  my $delimiter= ';';
+
+  foreach my $line (@lines) {
+
+    # Change current delimiter if line starts with "delimiter"
+    if ( $line =~ /^delimiter (.*)/ ) {
+      my $new= $1;
+      # Remove old delimiter from end of new
+      $new=~ s/\Q$delimiter\E$//;
+      $delimiter = $new;
+      mtr_debug("changed delimiter to $delimiter");
+      # No need to add the delimiter to result
+      next;
+    }
+
+    # Add newline if line ends with $delimiter
+    # and convert the current delimiter to semicolon
+    if ( $line =~ /\Q$delimiter\E$/ ){
+      $line =~ s/\Q$delimiter\E$/;/;
+      $result.= "$line\n";
+      mtr_debug("Added default delimiter");
+      next;
+    }
+
+    # Remove comments starting with --
+    if ( $line =~ /^\s*--/ ) {
+      mtr_debug("Discarded $line");
+      next;
+    }
+
+    # Replace @HOSTNAME with localhost
+    $line=~ s/\'\@HOSTNAME\@\'/localhost/;
+
+    # Default, just add the line without newline
+    # but with a space as separator
+    $result.= "$line ";
+
+  }
+  return $result;
+}
+
+
+sub default_mysqld {
+  # Generate new config file from template
+  my $config= My::ConfigFactory->new_config
+    ( {
+       basedir         => $basedir,
+       testdir         => $glob_mysql_test_dir,
+       template_path   => "include/default_my.cnf",
+       vardir          => $opt_vardir,
+       tmpdir          => $opt_tmpdir,
+       baseport        => 0,
+       user            => $opt_user,
+       password        => '',
+      }
+    );
+
+  my $mysqld= $config->group('mysqld.1')
+    or mtr_error("Couldn't find mysqld.1 in default config");
+  return $mysqld;
+}
+
+
+sub mysql_install_db {
+  my ($mysqld, $datadir)= @_;
+
+  my $install_datadir= $datadir || $mysqld->value('datadir');
+  my $install_basedir= $mysqld->value('basedir');
+  my $install_lang= $mysqld->value('lc-messages-dir');
+  my $install_chsdir= $mysqld->value('character-sets-dir');
+
+  mtr_report("Installing system database...");
+
+  my $args;
+  mtr_init_args(\$args);
+  mtr_add_arg($args, "--no-defaults");
+  mtr_add_arg($args, "--bootstrap");
+  mtr_add_arg($args, "--basedir=%s", $install_basedir);
+  mtr_add_arg($args, "--datadir=%s", $install_datadir);
+  mtr_add_arg($args, "--loose-skip-falcon");
+  mtr_add_arg($args, "--loose-skip-ndbcluster");
+  mtr_add_arg($args, "--tmpdir=%s", "$opt_vardir/tmp/");
+  mtr_add_arg($args, "--core-file");
+
+  if ( $opt_debug )
+  {
+    mtr_add_arg($args, "--debug=$debug_d:t:i:A,%s/log/bootstrap.trace",
+		$path_vardir_trace);
+  }
+
+  mtr_add_arg($args, "--lc-messages-dir=%s", $install_lang);
+  mtr_add_arg($args, "--character-sets-dir=%s", $install_chsdir);
+
+  # On some old linux kernels, aio on tmpfs is not supported
+  # Remove this if/when Bug #58421 fixes this in the server
+  if ($^O eq "linux" && $opt_mem) {
+    mtr_add_arg($args, "--loose-skip-innodb-use-native-aio");
+  }
+
+  # InnoDB arguments that affect file location and sizes may
+  # need to be given to the bootstrap process as well as the
+  # server process.
+  foreach my $extra_opt ( @opt_extra_mysqld_opt ) {
+    if ($extra_opt =~ /--innodb/) {
+      mtr_add_arg($args, $extra_opt);
+    }
+  }
+
+  # If DISABLE_GRANT_OPTIONS is defined when the server is compiled (e.g.,
+  # configure --disable-grant-options), mysqld will not recognize the
+  # --bootstrap or --skip-grant-tables options.  The user can set
+  # MYSQLD_BOOTSTRAP to the full path to a mysqld which does accept
+  # --bootstrap, to accommodate this.
+  my $exe_mysqld_bootstrap =
+    $ENV{'MYSQLD_BOOTSTRAP'} || find_mysqld($install_basedir);
+
+  # ----------------------------------------------------------------------
+  # export MYSQLD_BOOTSTRAP_CMD variable containing <path>/mysqld <args>
+  # ----------------------------------------------------------------------
+  $ENV{'MYSQLD_BOOTSTRAP_CMD'}= "$exe_mysqld_bootstrap " . join(" ", @$args);
+
+
+
+  # ----------------------------------------------------------------------
+  # Create the bootstrap.sql file
+  # ----------------------------------------------------------------------
+  my $bootstrap_sql_file= "$opt_vardir/tmp/bootstrap.sql";
+
+  if ($opt_boot_gdb) {
+    gdb_arguments(\$args, \$exe_mysqld_bootstrap, $mysqld->name(),
+		  $bootstrap_sql_file);
+  }
+  if ($opt_boot_dbx) {
+    dbx_arguments(\$args, \$exe_mysqld_bootstrap, $mysqld->name(),
+		  $bootstrap_sql_file);
+  }
+  if ($opt_boot_ddd) {
+    ddd_arguments(\$args, \$exe_mysqld_bootstrap, $mysqld->name(),
+		  $bootstrap_sql_file);
+  }
+
+  my $path_sql= my_find_file($install_basedir,
+			     ["mysql", "sql/share", "share/mysql",
+			      "share", "scripts"],
+			     "mysql_system_tables.sql",
+			     NOT_REQUIRED);
+
+  if (-f $path_sql )
+  {
+    my $sql_dir= dirname($path_sql);
+    # Use the mysql database for system tables
+    mtr_tofile($bootstrap_sql_file, "use mysql\n");
+
+    # Add the offical mysql system tables
+    # for a production system
+    mtr_appendfile_to_file("$sql_dir/mysql_system_tables.sql",
+			   $bootstrap_sql_file);
+
+    # Add the mysql system tables initial data
+    # for a production system
+    mtr_appendfile_to_file("$sql_dir/mysql_system_tables_data.sql",
+			   $bootstrap_sql_file);
+
+    # Add test data for timezone - this is just a subset, on a real
+    # system these tables will be populated either by mysql_tzinfo_to_sql
+    # or by downloading the timezone table package from our website
+    mtr_appendfile_to_file("$sql_dir/mysql_test_data_timezone.sql",
+			   $bootstrap_sql_file);
+
+    # Fill help tables, just an empty file when running from bk repo
+    # but will be replaced by a real fill_help_tables.sql when
+    # building the source dist
+    mtr_appendfile_to_file("$sql_dir/fill_help_tables.sql",
+			   $bootstrap_sql_file);
+
+  }
+  else
+  {
+    # Install db from init_db.sql that exist in early 5.1 and 5.0
+    # versions of MySQL
+    my $init_file= "$install_basedir/mysql-test/lib/init_db.sql";
+    mtr_report(" - from '$init_file'");
+    my $text= mtr_grab_file($init_file) or
+      mtr_error("Can't open '$init_file': $!");
+
+    mtr_tofile($bootstrap_sql_file,
+	       sql_to_bootstrap($text));
+  }
+
+  # Remove anonymous users
+  mtr_tofile($bootstrap_sql_file,
+	     "DELETE FROM mysql.user where user= '';\n");
+
+  # Create mtr database
+  mtr_tofile($bootstrap_sql_file,
+	     "CREATE DATABASE mtr;\n");
+
+  # Add help tables and data for warning detection and supression
+  mtr_tofile($bootstrap_sql_file,
+             sql_to_bootstrap(mtr_grab_file("include/mtr_warnings.sql")));
+
+  # Add procedures for checking server is restored after testcase
+  mtr_tofile($bootstrap_sql_file,
+             sql_to_bootstrap(mtr_grab_file("include/mtr_check.sql")));
+
+  # Log bootstrap command
+  my $path_bootstrap_log= "$opt_vardir/log/bootstrap.log";
+  mtr_tofile($path_bootstrap_log,
+	     "$exe_mysqld_bootstrap " . join(" ", @$args) . "\n");
+
+  # Create directories mysql and test
+  mkpath("$install_datadir/mysql");
+  mkpath("$install_datadir/test");
+
+  if ( My::SafeProcess->run
+       (
+	name          => "bootstrap",
+	path          => $exe_mysqld_bootstrap,
+	args          => \$args,
+	input         => $bootstrap_sql_file,
+	output        => $path_bootstrap_log,
+	error         => $path_bootstrap_log,
+	append        => 1,
+	verbose       => $opt_verbose,
+       ) != 0)
+  {
+    mtr_error("Error executing mysqld --bootstrap\n" .
+              "Could not install system database from $bootstrap_sql_file\n" .
+	      "see $path_bootstrap_log for errors");
+  }
+}
+
+
+sub run_testcase_check_skip_test($)
+{
+  my ($tinfo)= @_;
+
+  # ----------------------------------------------------------------------
+  # If marked to skip, just print out and return.
+  # Note that a test case not marked as 'skip' can still be
+  # skipped later, because of the test case itself in cooperation
+  # with the mysqltest program tells us so.
+  # ----------------------------------------------------------------------
+
+  if ( $tinfo->{'skip'} )
+  {
+    mtr_report_test_skipped($tinfo) unless $start_only;
+    return 1;
+  }
+
+  return 0;
+}
+
+
+sub run_query {
+  my ($tinfo, $mysqld, $query)= @_;
+
+  my $args;
+  mtr_init_args(\$args);
+  mtr_add_arg($args, "--defaults-file=%s", $path_config_file);
+  mtr_add_arg($args, "--defaults-group-suffix=%s", $mysqld->after('mysqld'));
+
+  mtr_add_arg($args, "-e %s", $query);
+
+  my $res= My::SafeProcess->run
+    (
+     name          => "run_query -> ".$mysqld->name(),
+     path          => $exe_mysql,
+     args          => \$args,
+     output        => '/dev/null',
+     error         => '/dev/null'
+    );
+
+  return $res
+}
+
+
+sub do_before_run_mysqltest($)
+{
+  my $tinfo= shift;
+
+  # Remove old files produced by mysqltest
+  my $base_file= mtr_match_extension($tinfo->{result_file},
+				     "result"); # Trim extension
+  if (defined $base_file ){
+    unlink("$base_file.reject");
+    unlink("$base_file.progress");
+    unlink("$base_file.log");
+    unlink("$base_file.warnings");
+  }
+
+  if ( $mysql_version_id < 50000 ) {
+    # Set environment variable NDB_STATUS_OK to 1
+    # if script decided to run mysqltest cluster _is_ installed ok
+    $ENV{'NDB_STATUS_OK'} = "1";
+  } elsif ( $mysql_version_id < 50100 ) {
+    # Set environment variable NDB_STATUS_OK to YES
+    # if script decided to run mysqltest cluster _is_ installed ok
+    $ENV{'NDB_STATUS_OK'} = "YES";
+  }
+}
+
+
+#
+# Check all server for sideffects
+#
+# RETURN VALUE
+#  0 ok
+#  1 Check failed
+#  >1 Fatal errro
+
+sub check_testcase($$)
+{
+  my ($tinfo, $mode)= @_;
+  my $tname= $tinfo->{name};
+
+  # Start the mysqltest processes in parallel to save time
+  # also makes it possible to wait for any process to exit during the check
+  my %started;
+  foreach my $mysqld ( mysqlds() )
+  {
+    # Skip if server has been restarted with additional options
+    if ( defined $mysqld->{'proc'} && ! exists $mysqld->{'restart_opts'} )
+    {
+      my $proc= start_check_testcase($tinfo, $mode, $mysqld);
+      $started{$proc->pid()}= $proc;
+    }
+  }
+
+  # Return immediately if no check proceess was started
+  return 0 unless ( keys %started );
+
+  my $timeout= start_timer(check_timeout($tinfo));
+
+  while (1){
+    my $result;
+    my $proc= My::SafeProcess->wait_any_timeout($timeout);
+    mtr_report("Got $proc");
+
+    if ( delete $started{$proc->pid()} ) {
+
+      my $err_file= $proc->user_data();
+      my $base_file= mtr_match_extension($err_file, "err"); # Trim extension
+
+      # One check testcase process returned
+      my $res= $proc->exit_status();
+
+      if ( $res == 0){
+	# Check completed without problem
+
+	# Remove the .err file the check generated
+	unlink($err_file);
+
+	# Remove the .result file the check generated
+	if ( $mode eq 'after' ){
+	  unlink("$base_file.result");
+	}
+
+	if ( keys(%started) == 0){
+	  # All checks completed
+	  mark_time_used('check');
+	  return 0;
+	}
+	# Wait for next process to exit
+	next;
+      }
+      else
+      {
+	if ( $mode eq "after" and $res == 1 )
+	{
+	  # Test failed, grab the report mysqltest has created
+	  my $report= mtr_grab_file($err_file);
+	  $tinfo->{check}.=
+	    "\nMTR's internal check of the test case '$tname' failed.
+This means that the test case does not preserve the state that existed
+before the test case was executed.  Most likely the test case did not
+do a proper clean-up. It could also be caused by the previous test run
+by this thread, if the server wasn't restarted.
+This is the diff of the states of the servers before and after the
+test case was executed:\n";
+	  $tinfo->{check}.= $report;
+
+	  # Check failed, mark the test case with that info
+	  $tinfo->{'check_testcase_failed'}= 1;
+	  $result= 1;
+	}
+	elsif ( $res )
+	{
+	  my $report= mtr_grab_file($err_file);
+	  $tinfo->{comment}.=
+	    "Could not execute 'check-testcase' $mode ".
+	      "testcase '$tname' (res: $res):\n";
+	  $tinfo->{comment}.= $report;
+
+	  $result= 2;
+	}
+
+	# Remove the .result file the check generated
+	unlink("$base_file.result");
+
+      }
+    }
+    elsif ( $proc->{timeout} ) {
+      $tinfo->{comment}.= "Timeout for 'check-testcase' expired after "
+	.check_timeout($tinfo)." seconds";
+      $result= 4;
+    }
+    else {
+      # Unknown process returned, most likley a crash, abort everything
+      $tinfo->{comment}=
+	"The server $proc crashed while running ".
+	"'check testcase $mode test'".
+	get_log_from_proc($proc, $tinfo->{name});
+      $result= 3;
+    }
+
+    # Kill any check processes still running
+    map($_->kill(), values(%started));
+
+    mtr_warning("Check-testcase failed, this could also be caused by the" .
+		" previous test run by this worker thread")
+      if $result > 1 && $mode eq "before";
+    mark_time_used('check');
+
+    return $result;
+  }
+
+  mtr_error("INTERNAL_ERROR: check_testcase");
+}
+
+
+# Start run mysqltest on one server
+#
+# RETURN VALUE
+#  0 OK
+#  1 Check failed
+#
+sub start_run_one ($$) {
+  my ($mysqld, $run)= @_;
+
+  my $name= "$run-".$mysqld->name();
+
+  my $args;
+  mtr_init_args(\$args);
+
+  mtr_add_arg($args, "--defaults-file=%s", $path_config_file);
+  mtr_add_arg($args, "--defaults-group-suffix=%s", $mysqld->after('mysqld'));
+
+  mtr_add_arg($args, "--silent");
+  mtr_add_arg($args, "--test-file=%s", "include/$run.test");
+
+  my $errfile= "$opt_vardir/tmp/$name.err";
+  my $proc= My::SafeProcess->new
+    (
+     name          => $name,
+     path          => $exe_mysqltest,
+     error         => $errfile,
+     output        => $errfile,
+     args          => \$args,
+     user_data     => $errfile,
+     verbose       => $opt_verbose,
+    );
+  mtr_verbose("Started $proc");
+  return $proc;
+}
+
+
+#
+# Run script on all servers, collect results
+#
+# RETURN VALUE
+#  0 ok
+#  1 Failure
+
+sub run_on_all($$)
+{
+  my ($tinfo, $run)= @_;
+
+  # Start the mysqltest processes in parallel to save time
+  # also makes it possible to wait for any process to exit during the check
+  # and to have a timeout process
+  my %started;
+  foreach my $mysqld ( mysqlds() )
+  {
+    if ( defined $mysqld->{'proc'} )
+    {
+      my $proc= start_run_one($mysqld, $run);
+      $started{$proc->pid()}= $proc;
+    }
+  }
+
+  # Return immediately if no check proceess was started
+  return 0 unless ( keys %started );
+
+  my $timeout= start_timer(check_timeout($tinfo));
+
+  while (1){
+    my $result;
+    my $proc= My::SafeProcess->wait_any_timeout($timeout);
+    mtr_report("Got $proc");
+
+    if ( delete $started{$proc->pid()} ) {
+
+      # One mysqltest process returned
+      my $err_file= $proc->user_data();
+      my $res= $proc->exit_status();
+
+      # Append the report from .err file
+      $tinfo->{comment}.= " == $err_file ==\n";
+      $tinfo->{comment}.= mtr_grab_file($err_file);
+      $tinfo->{comment}.= "\n";
+
+      # Remove the .err file
+      unlink($err_file);
+
+      if ( keys(%started) == 0){
+	# All completed
+	return 0;
+      }
+
+      # Wait for next process to exit
+      next;
+    }
+    elsif ($proc->{timeout}) {
+      $tinfo->{comment}.= "Timeout for '$run' expired after "
+	.check_timeout($tinfo)." seconds";
+    }
+    else {
+      # Unknown process returned, most likley a crash, abort everything
+      $tinfo->{comment}.=
+	"The server $proc crashed while running '$run'".
+	get_log_from_proc($proc, $tinfo->{name});
+    }
+
+    # Kill any check processes still running
+    map($_->kill(), values(%started));
+
+    return 1;
+  }
+  mtr_error("INTERNAL_ERROR: run_on_all");
+}
+
+
+sub mark_log {
+  my ($log, $tinfo)= @_;
+  my $log_msg= "CURRENT_TEST: $tinfo->{name}\n";
+  mtr_tofile($log, $log_msg);
+}
+
+
+sub find_testcase_skipped_reason($)
+{
+  my ($tinfo)= @_;
+
+  # Set default message
+  $tinfo->{'comment'}= "Detected by testcase(no log file)";
+
+  # Open the test log file
+  my $F= IO::File->new($path_current_testlog)
+    or return;
+  my $reason;
+
+  while ( my $line= <$F> )
+  {
+    # Look for "reason: <reason for skipping test>"
+    if ( $line =~ /reason: (.*)/ )
+    {
+      $reason= $1;
+    }
+  }
+
+  if ( ! $reason )
+  {
+    mtr_warning("Could not find reason for skipping test in $path_current_testlog");
+    $reason= "Detected by testcase(reason unknown) ";
+  }
+  $tinfo->{'comment'}= $reason;
+}
+
+
+sub find_analyze_request
+{
+  # Open the test log file
+  my $F= IO::File->new($path_current_testlog)
+    or return;
+  my $analyze;
+
+  while ( my $line= <$F> )
+  {
+    # Look for "reason: <reason for skipping test>"
+    if ( $line =~ /analyze: (.*)/ )
+    {
+      $analyze= $1;
+    }
+  }
+
+  return $analyze;
+}
+
+
+# The test can leave a file in var/tmp/ to signal
+# that all servers should be restarted
+sub restart_forced_by_test($)
+{
+  my $file = shift;
+  my $restart = 0;
+  foreach my $mysqld ( mysqlds() )
+  {
+    my $datadir = $mysqld->value('datadir');
+    my $force_restart_file = "$datadir/mtr/$file";
+    if ( -f $force_restart_file )
+    {
+      mtr_verbose("Restart of servers forced by test");
+      $restart = 1;
+      last;
+    }
+  }
+  return $restart;
+}
+
+
+# Return timezone value of tinfo or default value
+sub timezone {
+  my ($tinfo)= @_;
+  return $tinfo->{timezone} || "GMT-3";
+}
+
+
+# Storage for changed environment variables
+my %old_env;
+
+sub resfile_report_test ($) {
+  my $tinfo=  shift;
+
+  resfile_new_test();
+
+  resfile_test_info("name", $tinfo->{name});
+  resfile_test_info("variation", $tinfo->{combination})
+    if $tinfo->{combination};
+  resfile_test_info("start_time", isotime time);
+}
+
+
+#
+# Run a single test case
+#
+# RETURN VALUE
+#  0 OK
+#  > 0 failure
+#
+
+sub run_testcase ($) {
+  my $tinfo=  shift;
+  my $print_freq=20;
+
+  mtr_verbose("Running test:", $tinfo->{name});
+  resfile_report_test($tinfo) if $opt_resfile;
+
+  # Allow only alpanumerics pluss _ - + . in combination names,
+  # or anything beginning with -- (the latter comes from --combination)
+  my $combination= $tinfo->{combination};
+  if ($combination && $combination !~ /^\w[-\w\.\+]+$/
+                   && $combination !~ /^--/)
+  {
+    mtr_error("Combination '$combination' contains illegal characters");
+  }
+  # -------------------------------------------------------
+  # Init variables that can change between each test case
+  # -------------------------------------------------------
+  my $timezone= timezone($tinfo);
+  $ENV{'TZ'}= $timezone;
+  mtr_verbose("Setting timezone: $timezone");
+
+  if ( ! using_extern() )
+  {
+    my @restart= servers_need_restart($tinfo);
+    if ( @restart != 0) {
+      stop_servers($tinfo, @restart );
+    }
+
+    if ( started(all_servers()) == 0 )
+    {
+
+      # Remove old datadirs
+      clean_datadir() unless $opt_start_dirty;
+
+      # Restore old ENV
+      while (my ($option, $value)= each( %old_env )) {
+	if (defined $value){
+	  mtr_verbose("Restoring $option to $value");
+	  $ENV{$option}= $value;
+
+	} else {
+	  mtr_verbose("Removing $option");
+	  delete($ENV{$option});
+	}
+      }
+      %old_env= ();
+
+      mtr_verbose("Generating my.cnf from '$tinfo->{template_path}'");
+
+      # Generate new config file from template
+      $config= My::ConfigFactory->new_config
+	( {
+	   basedir         => $basedir,
+	   testdir         => $glob_mysql_test_dir,
+	   template_path   => $tinfo->{template_path},
+	   extra_template_path => $tinfo->{extra_template_path},
+	   vardir          => $opt_vardir,
+	   tmpdir          => $opt_tmpdir,
+	   baseport        => $baseport,
+	   #hosts          => [ 'host1', 'host2' ],
+	   user            => $opt_user,
+	   password        => '',
+	   ssl             => $opt_ssl_supported,
+	   embedded        => $opt_embedded_server,
+	  }
+	);
+
+      # Write the new my.cnf
+      $config->save($path_config_file);
+
+      # Remember current config so a restart can occur when a test need
+      # to use a different one
+      $current_config_name= $tinfo->{template_path};
+
+      #
+      # Set variables in the ENV section
+      #
+      foreach my $option ($config->options_in_group("ENV"))
+      {
+	# Save old value to restore it before next time
+	$old_env{$option->name()}= $ENV{$option->name()};
+
+	mtr_verbose($option->name(), "=",$option->value());
+	$ENV{$option->name()}= $option->value();
+      }
+    }
+
+    # Write start of testcase to log
+    mark_log($path_current_testlog, $tinfo);
+
+    if (start_servers($tinfo))
+    {
+      report_failure_and_restart($tinfo);
+      return 1;
+    }
+  }
+  mark_time_used('restart');
+
+  # --------------------------------------------------------------------
+  # If --start or --start-dirty given, stop here to let user manually
+  # run tests
+  # If --wait-all is also given, do the same, but don't die if one
+  # server exits
+  # ----------------------------------------------------------------------
+
+  if ( $start_only )
+  {
+    mtr_print("\nStarted", started(all_servers()));
+    mtr_print("Using config for test", $tinfo->{name});
+    mtr_print("Port and socket path for server(s):");
+    foreach my $mysqld ( mysqlds() )
+    {
+      mtr_print ($mysqld->name() . "  " . $mysqld->value('port') .
+	      "  " . $mysqld->value('socket'));
+    }
+    if ( $opt_start_exit )
+    {
+      mtr_print("Server(s) started, not waiting for them to finish");
+      if (IS_WINDOWS)
+      {
+	POSIX::_exit(0);	# exit hangs here in ActiveState Perl
+      }
+      else
+      {
+	exit(0);
+      }
+    }
+    mtr_print("Waiting for server(s) to exit...");
+    if ( $opt_wait_all ) {
+      My::SafeProcess->wait_all();
+      mtr_print( "All servers exited" );
+      exit(1);
+    }
+    else {
+      my $proc= My::SafeProcess->wait_any();
+      if ( grep($proc eq $_, started(all_servers())) )
+      {
+        mtr_print("Server $proc died");
+        exit(1);
+      }
+      mtr_print("Unknown process $proc died");
+      exit(1);
+    }
+  }
+
+  my $test_timeout= start_timer(testcase_timeout($tinfo));
+
+  do_before_run_mysqltest($tinfo);
+
+  mark_time_used('admin');
+
+  if ( $opt_check_testcases and check_testcase($tinfo, "before") ){
+    # Failed to record state of server or server crashed
+    report_failure_and_restart($tinfo);
+
+    return 1;
+  }
+
+  my $test= start_mysqltest($tinfo);
+  # Set only when we have to keep waiting after expectedly died server
+  my $keep_waiting_proc = 0;
+  my $print_timeout= start_timer($print_freq * 60);
+
+  while (1)
+  {
+    my $proc;
+    if ($keep_waiting_proc)
+    {
+      # Any other process exited?
+      $proc = My::SafeProcess->check_any();
+      if ($proc)
+      {
+	mtr_verbose ("Found exited process $proc");
+      }
+      else
+      {
+	$proc = $keep_waiting_proc;
+	# Also check if timer has expired, if so cancel waiting
+	if ( has_expired($test_timeout) )
+	{
+	  $keep_waiting_proc = 0;
+	}
+      }
+    }
+    if (! $keep_waiting_proc)
+    {
+      if($test_timeout > $print_timeout)
+      {
+         $proc= My::SafeProcess->wait_any_timeout($print_timeout);
+         if ( $proc->{timeout} )
+         {
+            #print out that the test is still on
+            mtr_print("Test still running: $tinfo->{name}");
+            #reset the timer
+            $print_timeout= start_timer($print_freq * 60);
+            next;
+         }
+      }
+      else
+      {
+         $proc= My::SafeProcess->wait_any_timeout($test_timeout);
+      }
+    }
+
+    # Will be restored if we need to keep waiting
+    $keep_waiting_proc = 0;
+
+    unless ( defined $proc )
+    {
+      mtr_error("wait_any failed");
+    }
+    mtr_verbose("Got $proc");
+
+    mark_time_used('test');
+    # ----------------------------------------------------
+    # Was it the test program that exited
+    # ----------------------------------------------------
+    if ($proc eq $test)
+    {
+      my $res= $test->exit_status();
+
+      if ($res == 0 and $opt_warnings and check_warnings($tinfo) )
+      {
+	# Test case suceeded, but it has produced unexpected
+	# warnings, continue in $res == 1
+	$res= 1;
+	resfile_output($tinfo->{'warnings'}) if $opt_resfile;
+      }
+
+      if ( $res == 0 )
+      {
+	my $check_res;
+	if ( restart_forced_by_test('force_restart') )
+	{
+	  stop_all_servers($opt_shutdown_timeout);
+	}
+	elsif ( $opt_check_testcases and
+	     $check_res= check_testcase($tinfo, "after"))
+	{
+	  if ($check_res == 1) {
+	    # Test case had sideeffects, not fatal error, just continue
+	    stop_all_servers($opt_shutdown_timeout);
+	    mtr_report("Resuming tests...\n");
+	    resfile_output($tinfo->{'check'}) if $opt_resfile;
+	  }
+	  else {
+	    # Test case check failed fatally, probably a server crashed
+	    report_failure_and_restart($tinfo);
+	    return 1;
+	  }
+	}
+	mtr_report_test_passed($tinfo);
+      }
+      elsif ( $res == 62 )
+      {
+	# Testcase itself tell us to skip this one
+	$tinfo->{skip_detected_by_test}= 1;
+	# Try to get reason from test log file
+	find_testcase_skipped_reason($tinfo);
+	mtr_report_test_skipped($tinfo);
+	# Restart if skipped due to missing perl, it may have had side effects
+	if ( restart_forced_by_test('force_restart_if_skipped') ||
+             $tinfo->{'comment'} =~ /^perl not found/ )
+	{
+	  stop_all_servers($opt_shutdown_timeout);
+	}
+      }
+      elsif ( $res == 65 )
+      {
+	# Testprogram killed by signal
+	$tinfo->{comment}=
+	  "testprogram crashed(returned code $res)";
+	report_failure_and_restart($tinfo);
+      }
+      elsif ( $res == 1 )
+      {
+	# Check if the test tool requests that
+	# an analyze script should be run
+	my $analyze= find_analyze_request();
+	if ($analyze){
+	  run_on_all($tinfo, "analyze-$analyze");
+	}
+
+	# Wait a bit and see if a server died, if so report that instead
+	mtr_milli_sleep(100);
+	my $srvproc= My::SafeProcess::check_any();
+	if ($srvproc && grep($srvproc eq $_, started(all_servers()))) {
+	  $proc= $srvproc;
+	  goto SRVDIED;
+	}
+
+	# Test case failure reported by mysqltest
+	report_failure_and_restart($tinfo);
+      }
+      else
+      {
+	# mysqltest failed, probably crashed
+	$tinfo->{comment}=
+	  "mysqltest failed with unexpected return code $res\n";
+	report_failure_and_restart($tinfo);
+      }
+
+      # Save info from this testcase run to mysqltest.log
+      if( -f $path_current_testlog)
+      {
+	if ($opt_resfile && $res && $res != 62) {
+	  resfile_output_file($path_current_testlog);
+	}
+	mtr_appendfile_to_file($path_current_testlog, $path_testlog);
+	unlink($path_current_testlog);
+      }
+
+      return ($res == 62) ? 0 : $res;
+
+    }
+
+    # ----------------------------------------------------
+    # Check if it was an expected crash
+    # ----------------------------------------------------
+    my $check_crash = check_expected_crash_and_restart($proc);
+    if ($check_crash)
+    {
+      # Keep waiting if it returned 2, if 1 don't wait or stop waiting.
+      $keep_waiting_proc = 0 if $check_crash == 1;
+      $keep_waiting_proc = $proc if $check_crash == 2;
+      next;
+    }
+
+  SRVDIED:
+    # ----------------------------------------------------
+    # Stop the test case timer
+    # ----------------------------------------------------
+    $test_timeout= 0;
+
+    # ----------------------------------------------------
+    # Check if it was a server that died
+    # ----------------------------------------------------
+    if ( grep($proc eq $_, started(all_servers())) )
+    {
+      # Server failed, probably crashed
+      $tinfo->{comment}=
+	"Server $proc failed during test run" .
+	get_log_from_proc($proc, $tinfo->{name});
+
+      # ----------------------------------------------------
+      # It's not mysqltest that has exited, kill it
+      # ----------------------------------------------------
+      $test->kill();
+
+      report_failure_and_restart($tinfo);
+      return 1;
+    }
+
+    # Try to dump core for mysqltest and all servers
+    foreach my $proc ($test, started(all_servers())) 
+    {
+      mtr_print("Trying to dump core for $proc");
+      if ($proc->dump_core())
+      {
+	$proc->wait_one(20);
+      }
+    }
+
+    # ----------------------------------------------------
+    # It's not mysqltest that has exited, kill it
+    # ----------------------------------------------------
+    $test->kill();
+
+    # ----------------------------------------------------
+    # Check if testcase timer expired
+    # ----------------------------------------------------
+    if ( $proc->{timeout} )
+    {
+      my $log_file_name= $opt_vardir."/log/".$tinfo->{shortname}.".log";
+      $tinfo->{comment}=
+        "Test case timeout after ".testcase_timeout($tinfo).
+	  " seconds\n\n";
+      # Add 20 last executed commands from test case log file
+      if  (-e $log_file_name)
+      {
+        $tinfo->{comment}.=
+	   "== $log_file_name == \n".
+	     mtr_lastlinesfromfile($log_file_name, 20)."\n";
+      }
+      $tinfo->{'timeout'}= testcase_timeout($tinfo); # Mark as timeout
+      run_on_all($tinfo, 'analyze-timeout');
+
+      report_failure_and_restart($tinfo);
+      return 1;
+    }
+
+    mtr_error("Unhandled process $proc exited");
+  }
+  mtr_error("Should never come here");
+}
+
+
+# Extract server log from after the last occurrence of named test
+# Return as an array of lines
+#
+
+sub extract_server_log ($$) {
+  my ($error_log, $tname) = @_;
+
+  # Open the servers .err log file and read all lines
+  # belonging to current tets into @lines
+  my $Ferr = IO::File->new($error_log)
+    or mtr_error("Could not open file '$error_log' for reading: $!");
+
+  my @lines;
+  my $found_test= 0;		# Set once we've found the log of this test
+  while ( my $line = <$Ferr> )
+  {
+    if ($found_test)
+    {
+      # If test wasn't last after all, discard what we found, test again.
+      if ( $line =~ /^CURRENT_TEST:/)
+      {
+	@lines= ();
+	$found_test= $line =~ /^CURRENT_TEST: $tname/;
+      }
+      else
+      {
+	push(@lines, $line);
+	if (scalar(@lines) > 1000000) {
+	  $Ferr = undef;
+	  mtr_warning("Too much log from test, bailing out from extracting");
+	  return ();
+	}
+      }
+    }
+    else
+    {
+      # Search for beginning of test, until found
+      $found_test= 1 if ($line =~ /^CURRENT_TEST: $tname/);
+    }
+  }
+  $Ferr = undef; # Close error log file
+
+  return @lines;
+}
+
+# Get log from server identified from its $proc object, from named test
+# Return as a single string
+#
+
+sub get_log_from_proc ($$) {
+  my ($proc, $name)= @_;
+  my $srv_log= "";
+
+  foreach my $mysqld (mysqlds()) {
+    if ($mysqld->{proc} eq $proc) {
+      my @srv_lines= extract_server_log($mysqld->value('#log-error'), $name);
+      $srv_log= "\nServer log from this test:\n" .
+	"----------SERVER LOG START-----------\n". join ("", @srv_lines) .
+	"----------SERVER LOG END-------------\n";
+      last;
+    }
+  }
+  return $srv_log;
+}
+
+# Perform a rough examination of the servers
+# error log and write all lines that look
+# suspicious into $error_log.warnings
+#
+sub extract_warning_lines ($$) {
+  my ($error_log, $tname) = @_;
+
+  my @lines= extract_server_log($error_log, $tname);
+
+# Write all suspicious lines to $error_log.warnings file
+  my $warning_log = "$error_log.warnings";
+  my $Fwarn = IO::File->new($warning_log, "w")
+    or die("Could not open file '$warning_log' for writing: $!");
+  print $Fwarn "Suspicious lines from $error_log\n";
+
+  my @patterns =
+    (
+     qr/^Warning:|mysqld: Warning|\[Warning\]/,
+     qr/^Error:|\[ERROR\]/,
+     qr/^==\d+==\s+\S/, # valgrind errors
+     qr/InnoDB: Warning|InnoDB: Error/,
+     qr/^safe_mutex:|allocated at line/,
+     qr/missing DBUG_RETURN/,
+     qr/Attempting backtrace/,
+     qr/Assertion .* failed/,
+    );
+  my $skip_valgrind= 0;
+
+  my $last_pat= "";
+  my $num_rep= 0;
+
+  foreach my $line ( @lines )
+  {
+    if ($opt_valgrind_mysqld) {
+      # Skip valgrind summary from tests where server has been restarted
+      # Should this contain memory leaks, the final report will find it
+      # Use a generic pattern for summaries
+      $skip_valgrind= 1 if $line =~ /^==\d+== [A-Z ]+ SUMMARY:/;
+      $skip_valgrind= 0 unless $line =~ /^==\d+==/;
+      next if $skip_valgrind;
+    }
+    foreach my $pat ( @patterns )
+    {
+      if ( $line =~ /$pat/ )
+      {
+	# Remove initial timestamp and look for consecutive identical lines
+	my $line_pat= $line;
+	$line_pat =~ s/^[0-9:\-\+\.TZ ]*//;
+	if ($line_pat eq $last_pat) {
+	  $num_rep++;
+	} else {
+	  # Previous line had been repeated, report that first
+	  if ($num_rep) {
+	    print $Fwarn ".... repeated $num_rep times: $last_pat";
+	    $num_rep= 0;
+	  }
+	  $last_pat= $line_pat;
+	  print $Fwarn $line;
+	}
+	last;
+      }
+    }
+  }
+  # Catch the case of last warning being repeated
+  if ($num_rep) {
+    print $Fwarn ".... repeated $num_rep times: $last_pat";
+  }
+
+  $Fwarn = undef; # Close file
+
+}
+
+
+# Run include/check-warnings.test
+#
+# RETURN VALUE
+#  0 OK
+#  1 Check failed
+#
+sub start_check_warnings ($$) {
+  my $tinfo=    shift;
+  my $mysqld=   shift;
+
+  my $name= "warnings-".$mysqld->name();
+
+  my $log_error= $mysqld->value('#log-error');
+  # To be communicated to the test
+  $ENV{MTR_LOG_ERROR}= $log_error;
+  extract_warning_lines($log_error, $tinfo->{name});
+
+  my $args;
+  mtr_init_args(\$args);
+
+  mtr_add_arg($args, "--defaults-file=%s", $path_config_file);
+  mtr_add_arg($args, "--defaults-group-suffix=%s", $mysqld->after('mysqld'));
+  mtr_add_arg($args, "--test-file=%s", "include/check-warnings.test");
+
+  if ( $opt_embedded_server )
+  {
+
+    # Get the args needed for the embedded server
+    # and append them to args prefixed
+    # with --sever-arg=
+
+    my $mysqld=  $config->group('embedded')
+      or mtr_error("Could not get [embedded] section");
+
+    my $mysqld_args;
+    mtr_init_args(\$mysqld_args);
+    my $extra_opts= get_extra_opts($mysqld, $tinfo);
+    mysqld_arguments($mysqld_args, $mysqld, $extra_opts);
+    mtr_add_arg($args, "--server-arg=%s", $_) for @$mysqld_args;
+  }
+
+  my $errfile= "$opt_vardir/tmp/$name.err";
+  my $proc= My::SafeProcess->new
+    (
+     name          => $name,
+     path          => $exe_mysqltest,
+     error         => $errfile,
+     output        => $errfile,
+     args          => \$args,
+     user_data     => $errfile,
+     verbose       => $opt_verbose,
+    );
+  mtr_verbose("Started $proc");
+  return $proc;
+}
+
+
+#
+# Loop through our list of processes and check the error log
+# for unexepcted errors and warnings
+#
+sub check_warnings ($) {
+  my ($tinfo)= @_;
+  my $res= 0;
+
+  my $tname= $tinfo->{name};
+
+  # Clear previous warnings
+  delete($tinfo->{warnings});
+
+  # Start the mysqltest processes in parallel to save time
+  # also makes it possible to wait for any process to exit during the check
+  my %started;
+  foreach my $mysqld ( mysqlds() )
+  {
+    if ( defined $mysqld->{'proc'} )
+    {
+      my $proc= start_check_warnings($tinfo, $mysqld);
+      $started{$proc->pid()}= $proc;
+    }
+  }
+
+  # Return immediately if no check proceess was started
+  return 0 unless ( keys %started );
+
+  my $timeout= start_timer(check_timeout($tinfo));
+
+  while (1){
+    my $result= 0;
+    my $proc= My::SafeProcess->wait_any_timeout($timeout);
+    mtr_report("Got $proc");
+
+    if ( delete $started{$proc->pid()} ) {
+      # One check warning process returned
+      my $res= $proc->exit_status();
+      my $err_file= $proc->user_data();
+
+      if ( $res == 0 or $res == 62 ){
+
+	if ( $res == 0 ) {
+	  # Check completed with problem
+	  my $report= mtr_grab_file($err_file);
+	  # Log to var/log/warnings file
+	  mtr_tofile("$opt_vardir/log/warnings",
+		     $tname."\n".$report);
+
+	  $tinfo->{'warnings'}.= $report;
+	  $result= 1;
+	}
+
+	if ( $res == 62 ) {
+	  # Test case was ok and called "skip"
+	  # Remove the .err file the check generated
+	  unlink($err_file);
+	}
+
+	if ( keys(%started) == 0){
+	  # All checks completed
+	  mark_time_used('ch-warn');
+	  return $result;
+	}
+	# Wait for next process to exit
+	next;
+      }
+      else
+      {
+	my $report= mtr_grab_file($err_file);
+	$tinfo->{comment}.=
+	  "Could not execute 'check-warnings' for ".
+	    "testcase '$tname' (res: $res):\n";
+	$tinfo->{comment}.= $report;
+
+	$result= 2;
+      }
+    }
+    elsif ( $proc->{timeout} ) {
+      $tinfo->{comment}.= "Timeout for 'check warnings' expired after "
+	.check_timeout($tinfo)." seconds";
+      $result= 4;
+    }
+    else {
+      # Unknown process returned, most likley a crash, abort everything
+      $tinfo->{comment}=
+	"The server $proc crashed while running 'check warnings'".
+	get_log_from_proc($proc, $tinfo->{name});
+      $result= 3;
+    }
+
+    # Kill any check processes still running
+    map($_->kill(), values(%started));
+
+    mark_time_used('ch-warn');
+    return $result;
+  }
+
+  mtr_error("INTERNAL_ERROR: check_warnings");
+}
+
+
+#
+# Loop through our list of processes and look for and entry
+# with the provided pid, if found check for the file indicating
+# expected crash and restart it.
+#
+sub check_expected_crash_and_restart {
+  my ($proc)= @_;
+
+  foreach my $mysqld ( mysqlds() )
+  {
+    next unless ( $mysqld->{proc} and $mysqld->{proc} eq $proc );
+
+    # Check if crash expected by looking at the .expect file
+    # in var/tmp
+    my $expect_file= "$opt_vardir/tmp/".$mysqld->name().".expect";
+    if ( -f $expect_file )
+    {
+      mtr_verbose("Crash was expected, file '$expect_file' exists");
+
+      for (my $waits = 0;  $waits < 50;  mtr_milli_sleep(100), $waits++)
+      {
+	# Race condition seen on Windows: try again until file not empty
+	next if -z $expect_file;
+	# If last line in expect file starts with "wait"
+	# sleep a little and try again, thus allowing the
+	# test script to control when the server should start
+	# up again. Keep trying for up to 5s at a time.
+	my $last_line= mtr_lastlinesfromfile($expect_file, 1);
+	if ($last_line =~ /^wait/ )
+	{
+	  mtr_verbose("Test says wait before restart") if $waits == 0;
+	  next;
+	}
+
+	# Ignore any partial or unknown command
+	next unless $last_line =~ /^restart/;
+	# If last line begins "restart:", the rest of the line is read as
+        # extra command line options to add to the restarted mysqld.
+        # Anything other than 'wait' or 'restart:' (with a colon) will
+        # result in a restart with original mysqld options.
+	if ($last_line =~ /restart:(.+)/) {
+	  my @rest_opt= split(' ', $1);
+	  $mysqld->{'restart_opts'}= \@rest_opt;
+	} else {
+	  delete $mysqld->{'restart_opts'};
+	}
+	unlink($expect_file);
+
+	# Start server with same settings as last time
+	mysqld_start($mysqld, $mysqld->{'started_opts'});
+
+	return 1;
+      }
+      # Loop ran through: we should keep waiting after a re-check
+      return 2;
+    }
+  }
+
+  # Not an expected crash
+  return 0;
+}
+
+
+# Remove all files and subdirectories of a directory
+sub clean_dir {
+  my ($dir)= @_;
+  mtr_verbose("clean_dir: $dir");
+  finddepth(
+	  { no_chdir => 1,
+	    wanted => sub {
+	      if (-d $_){
+		# A dir
+		if ($_ eq $dir){
+		  # The dir to clean
+		  return;
+		} else {
+		  mtr_verbose("rmdir: '$_'");
+		  rmdir($_) or mtr_warning("rmdir($_) failed: $!");
+		}
+	      } else {
+		# Hopefully a file
+		mtr_verbose("unlink: '$_'");
+		unlink($_) or mtr_warning("unlink($_) failed: $!");
+	      }
+	    }
+	  },
+	    $dir);
+}
+
+
+sub clean_datadir {
+
+  mtr_verbose("Cleaning datadirs...");
+
+  if (started(all_servers()) != 0){
+    mtr_error("Trying to clean datadir before all servers stopped");
+  }
+
+  foreach my $cluster ( clusters() )
+  {
+    my $cluster_dir= "$opt_vardir/".$cluster->{name};
+    mtr_verbose(" - removing '$cluster_dir'");
+    rmtree($cluster_dir);
+
+  }
+
+  foreach my $mysqld ( mysqlds() )
+  {
+    my $mysqld_dir= dirname($mysqld->value('datadir'));
+    if (-d $mysqld_dir ) {
+      mtr_verbose(" - removing '$mysqld_dir'");
+      rmtree($mysqld_dir);
+    }
+  }
+
+  # Remove all files in tmp and var/tmp
+  clean_dir("$opt_vardir/tmp");
+  if ($opt_tmpdir ne "$opt_vardir/tmp"){
+    clean_dir($opt_tmpdir);
+  }
+}
+
+
+#
+# Save datadir before it's removed
+#
+sub save_datadir_after_failure($$) {
+  my ($dir, $savedir)= @_;
+
+  mtr_report(" - saving '$dir'");
+  my $dir_name= basename($dir);
+  rename("$dir", "$savedir/$dir_name");
+}
+
+
+sub remove_ndbfs_from_ndbd_datadir {
+  my ($ndbd_datadir)= @_;
+  # Remove the ndb_*_fs directory from ndbd.X/ dir
+  foreach my $ndbfs_dir ( glob("$ndbd_datadir/ndb_*_fs") )
+  {
+    next unless -d $ndbfs_dir; # Skip if not a directory
+    rmtree($ndbfs_dir);
+  }
+}
+
+
+sub after_failure ($) {
+  my ($tinfo)= @_;
+
+  mtr_report("Saving datadirs...");
+
+  my $save_dir= "$opt_vardir/log/";
+  $save_dir.= $tinfo->{name};
+  # Add combination name if any
+  $save_dir.= "-$tinfo->{combination}"
+    if defined $tinfo->{combination};
+
+  # Save savedir  path for server
+  $tinfo->{savedir}= $save_dir;
+
+  mkpath($save_dir) if ! -d $save_dir;
+
+  # Save the used my.cnf file
+  copy($path_config_file, $save_dir);
+
+  # Copy the tmp dir
+  copytree("$opt_vardir/tmp/", "$save_dir/tmp/");
+
+  if ( clusters() ) {
+    foreach my $cluster ( clusters() ) {
+      my $cluster_dir= "$opt_vardir/".$cluster->{name};
+
+      # Remove the fileystem of each ndbd
+      foreach my $ndbd ( in_cluster($cluster, ndbds()) )
+      {
+        my $ndbd_datadir= $ndbd->value("DataDir");
+        remove_ndbfs_from_ndbd_datadir($ndbd_datadir);
+      }
+
+      save_datadir_after_failure($cluster_dir, $save_dir);
+    }
+  }
+  else {
+    foreach my $mysqld ( mysqlds() ) {
+      my $data_dir= $mysqld->value('datadir');
+      save_datadir_after_failure(dirname($data_dir), $save_dir);
+    }
+  }
+}
+
+
+sub report_failure_and_restart ($) {
+  my $tinfo= shift;
+
+  if ($opt_valgrind_mysqld && ($tinfo->{'warnings'} || $tinfo->{'timeout'})) {
+    # In these cases we may want valgrind report from normal termination
+    $tinfo->{'dont_kill_server'}= 1;
+  }
+  # Shotdown properly if not to be killed (for valgrind)
+  stop_all_servers($tinfo->{'dont_kill_server'} ? $opt_shutdown_timeout : 0);
+
+  $tinfo->{'result'}= 'MTR_RES_FAILED';
+
+  my $test_failures= $tinfo->{'failures'} || 0;
+  $tinfo->{'failures'}=  $test_failures + 1;
+
+
+  if ( $tinfo->{comment} )
+  {
+    # The test failure has been detected by mysql-test-run.pl
+    # when starting the servers or due to other error, the reason for
+    # failing the test is saved in "comment"
+    ;
+  }
+
+  if ( !defined $tinfo->{logfile} )
+  {
+    my $logfile= $path_current_testlog;
+    if ( defined $logfile )
+    {
+      if ( -f $logfile )
+      {
+	# Test failure was detected by test tool and its report
+	# about what failed has been saved to file. Save the report
+	# in tinfo
+	$tinfo->{logfile}= mtr_fromfile($logfile);
+	# If no newlines in the test log:
+	# (it will contain the CURRENT_TEST written by mtr, so is not empty)
+	if ($tinfo->{logfile} !~ /\n/)
+	{
+	  # Show how far it got before suddenly failing
+	  $tinfo->{comment}.= "mysqltest failed but provided no output\n";
+	  my $log_file_name= $opt_vardir."/log/".$tinfo->{shortname}.".log";
+	  if (-e $log_file_name) {
+	    $tinfo->{comment}.=
+	      "The result from queries just before the failure was:".
+	      "\n< snip >\n".
+	      mtr_lastlinesfromfile($log_file_name, 20)."\n";
+	  }
+	}
+      }
+      else
+      {
+	# The test tool report didn't exist, display an
+	# error message
+	$tinfo->{logfile}= "Could not open test tool report '$logfile'";
+      }
+    }
+  }
+
+  after_failure($tinfo);
+
+  mtr_report_test($tinfo);
+
+}
+
+
+sub run_sh_script {
+  my ($script)= @_;
+
+  return 0 unless defined $script;
+
+  mtr_verbose("Running '$script'");
+  my $ret= system("/bin/sh $script") >> 8;
+  return $ret;
+}
+
+
+sub mysqld_stop {
+  my $mysqld= shift or die "usage: mysqld_stop(<mysqld>)";
+
+  my $args;
+  mtr_init_args(\$args);
+
+  mtr_add_arg($args, "--no-defaults");
+  mtr_add_arg($args, "--character-sets-dir=%s", $mysqld->value('character-sets-dir'));
+  mtr_add_arg($args, "--user=%s", $opt_user);
+  mtr_add_arg($args, "--password=");
+  mtr_add_arg($args, "--port=%d", $mysqld->value('port'));
+  mtr_add_arg($args, "--host=%s", $mysqld->value('#host'));
+  mtr_add_arg($args, "--connect_timeout=20");
+  mtr_add_arg($args, "--protocol=tcp");
+
+  mtr_add_arg($args, "shutdown");
+
+  My::SafeProcess->run
+    (
+     name          => "mysqladmin shutdown ".$mysqld->name(),
+     path          => $exe_mysqladmin,
+     args          => \$args,
+     error         => "/dev/null",
+
+    );
+}
+
+
+sub mysqld_arguments ($$$) {
+  my $args=              shift;
+  my $mysqld=            shift;
+  my $extra_opts=        shift;
+
+  my @defaults = grep(/^--defaults-file=/, @$extra_opts);
+  if (@defaults > 0) {
+    mtr_add_arg($args, pop(@defaults))
+  }
+  else {
+    mtr_add_arg($args, "--defaults-file=%s",  $path_config_file);
+  }
+
+  # When mysqld is run by a root user(euid is 0), it will fail
+  # to start unless we specify what user to run as, see BUG#30630
+  my $euid= $>;
+  if (!IS_WINDOWS and $euid == 0 and
+      (grep(/^--user/, @$extra_opts)) == 0) {
+    mtr_add_arg($args, "--user=root");
+  }
+
+  if ( $opt_valgrind_mysqld )
+  {
+    if ( $mysql_version_id < 50100 )
+    {
+      mtr_add_arg($args, "--skip-bdb");
+    }
+  }
+
+  # On some old linux kernels, aio on tmpfs is not supported
+  # Remove this if/when Bug #58421 fixes this in the server
+  if ($^O eq "linux" && $opt_mem)
+  {
+    mtr_add_arg($args, "--loose-skip-innodb-use-native-aio");
+  }
+
+  if ( $mysql_version_id >= 50106 && !$opt_user_args)
+  {
+    # Turn on logging to file
+    mtr_add_arg($args, "--log-output=file");
+  }
+
+  # Check if "extra_opt" contains skip-log-bin
+  my $skip_binlog= grep(/^(--|--loose-)skip-log-bin/, @$extra_opts);
+
+  # Indicate to mysqld it will be debugged in debugger
+  if ( $glob_debugger )
+  {
+    mtr_add_arg($args, "--gdb");
+  }
+
+  my $found_skip_core= 0;
+  foreach my $arg ( @$extra_opts )
+  {
+    # Skip --defaults-file option since it's handled above.
+    next if $arg =~ /^--defaults-file/;
+
+    # Allow --skip-core-file to be set in <testname>-[master|slave].opt file
+    if ($arg eq "--skip-core-file")
+    {
+      $found_skip_core= 1;
+    }
+    elsif ($skip_binlog and mtr_match_prefix($arg, "--binlog-format"))
+    {
+      ; # Dont add --binlog-format when running without binlog
+    }
+    elsif ($arg eq "--loose-skip-log-bin" and
+           $mysqld->option("log-slave-updates"))
+    {
+      ; # Dont add --skip-log-bin when mysqld have --log-slave-updates in config
+    }
+    elsif ($arg eq "")
+    {
+      # We can get an empty argument when  we set environment variables to ""
+      # (e.g plugin not found). Just skip it.
+    }
+    else
+    {
+      mtr_add_arg($args, "%s", $arg);
+    }
+  }
+  $opt_skip_core = $found_skip_core;
+  if ( !$found_skip_core && !$opt_user_args )
+  {
+    mtr_add_arg($args, "%s", "--core-file");
+  }
+
+  # Enable the debug sync facility, set default wait timeout.
+  # Facility stays disabled if timeout value is zero.
+  mtr_add_arg($args, "--loose-debug-sync-timeout=%s",
+              $opt_debug_sync_timeout) unless $opt_user_args;
+
+  return $args;
+}
+
+
+
+sub mysqld_start ($$) {
+  my $mysqld=            shift;
+  my $extra_opts=        shift;
+
+  mtr_verbose(My::Options::toStr("mysqld_start", @$extra_opts));
+
+  my $exe= find_mysqld($mysqld->value('basedir'));
+  my $wait_for_pid_file= 1;
+
+  mtr_error("Internal error: mysqld should never be started for embedded")
+    if $opt_embedded_server;
+
+  my $args;
+  mtr_init_args(\$args);
+# implementation for strace-server
+  if ( $opt_strace_server )
+  {
+    strace_server_arguments($args, \$exe, $mysqld->name());
+  }
+
+
+  if ( $opt_valgrind_mysqld )
+  {
+    valgrind_arguments($args, \$exe);
+  }
+
+  mtr_add_arg($args, "--defaults-group-suffix=%s", $mysqld->after('mysqld'));
+
+  # Add any additional options from an in-test restart
+  my @all_opts= @$extra_opts;
+  if (exists $mysqld->{'restart_opts'}) {
+    push (@all_opts, @{$mysqld->{'restart_opts'}});
+    mtr_verbose(My::Options::toStr("mysqld_start restart",
+				   @{$mysqld->{'restart_opts'}}));
+  }
+  mysqld_arguments($args,$mysqld,\@all_opts);
+
+  if ( $opt_debug )
+  {
+    mtr_add_arg($args, "--debug=$debug_d:t:i:A,%s/log/%s.trace",
+		$path_vardir_trace, $mysqld->name());
+  }
+
+  if (IS_WINDOWS)
+  {
+    # Trick the server to send output to stderr, with --console
+    mtr_add_arg($args, "--console");
+  }
+
+  if ( $opt_gdb || $opt_manual_gdb )
+  {
+    gdb_arguments(\$args, \$exe, $mysqld->name());
+  }
+  elsif ( $opt_manual_lldb )
+  {
+    lldb_arguments(\$args, \$exe, $mysqld->name());
+  }
+  elsif ( $opt_ddd || $opt_manual_ddd )
+  {
+    ddd_arguments(\$args, \$exe, $mysqld->name());
+  }
+  if ( $opt_dbx || $opt_manual_dbx ) {
+    dbx_arguments(\$args, \$exe, $mysqld->name());
+  }
+  elsif ( $opt_debugger )
+  {
+    debugger_arguments(\$args, \$exe, $mysqld->name());
+  }
+  elsif ( $opt_manual_debug )
+  {
+     print "\nStart " .$mysqld->name()." in your debugger\n" .
+           "dir: $glob_mysql_test_dir\n" .
+           "exe: $exe\n" .
+	   "args:  " . join(" ", @$args)  . "\n\n" .
+	   "Waiting ....\n";
+
+     # Indicate the exe should not be started
+    $exe= undef;
+  }
+  else
+  {
+    # Default to not wait until pid file has been created
+    $wait_for_pid_file= 0;
+  }
+
+  # Remove the old pidfile if any
+  unlink($mysqld->value('pid-file'));
+
+  my $output= $mysqld->value('#log-error');
+  # Remember this log file for valgrind error report search
+  $mysqld_logs{$output}= 1 if $opt_valgrind;
+  # Remember data dir for gmon.out files if using gprof
+  $gprof_dirs{$mysqld->value('datadir')}= 1 if $opt_gprof;
+
+  if ( defined $exe )
+  {
+    $mysqld->{'proc'}= My::SafeProcess->new
+      (
+       name          => $mysqld->name(),
+       path          => $exe,
+       args          => \$args,
+       output        => $output,
+       error         => $output,
+       append        => 1,
+       verbose       => $opt_verbose,
+       nocore        => $opt_skip_core,
+       host          => undef,
+       shutdown      => sub { mysqld_stop($mysqld) },
+       envs          => \@opt_mysqld_envs,
+      );
+    mtr_verbose("Started $mysqld->{proc}");
+  }
+
+  if ( $wait_for_pid_file &&
+       !sleep_until_file_created($mysqld->value('pid-file'),
+				 $opt_start_timeout,
+				 $mysqld->{'proc'}))
+  {
+    my $mname= $mysqld->name();
+    mtr_error("Failed to start mysqld $mname with command $exe");
+  }
+
+  # Remember options used when starting
+  $mysqld->{'started_opts'}= $extra_opts;
+
+  return;
+}
+
+
+sub stop_all_servers () {
+  my $shutdown_timeout = $_[0] or 0;
+
+  mtr_verbose("Stopping all servers...");
+
+  # Kill all started servers
+  My::SafeProcess::shutdown($shutdown_timeout,
+			    started(all_servers()));
+
+  # Remove pidfiles
+  foreach my $server ( all_servers() )
+  {
+    my $pid_file= $server->if_exist('pid-file');
+    unlink($pid_file) if defined $pid_file;
+  }
+
+  # Mark servers as stopped
+  map($_->{proc}= undef, all_servers());
+
+}
+
+
+# Find out if server should be restarted for this test
+sub server_need_restart {
+  my ($tinfo, $server)= @_;
+
+  if ( using_extern() )
+  {
+    mtr_verbose_restart($server, "no restart for --extern server");
+    return 0;
+  }
+
+  if ( $tinfo->{'force_restart'} ) {
+    mtr_verbose_restart($server, "forced in .opt file");
+    return 1;
+  }
+
+  if ( $opt_force_restart ) {
+    mtr_verbose_restart($server, "forced restart turned on");
+    return 1;
+  }
+
+  if ( $tinfo->{template_path} ne $current_config_name)
+  {
+    mtr_verbose_restart($server, "using different config file");
+    return 1;
+  }
+
+  if ( $tinfo->{'master_sh'}  || $tinfo->{'slave_sh'} )
+  {
+    mtr_verbose_restart($server, "sh script to run");
+    return 1;
+  }
+
+  if ( ! started($server) )
+  {
+    mtr_verbose_restart($server, "not started");
+    return 1;
+  }
+
+  my $started_tinfo= $server->{'started_tinfo'};
+  if ( defined $started_tinfo )
+  {
+
+    # Check if timezone of  test that server was started
+    # with differs from timezone of next test
+    if ( timezone($started_tinfo) ne timezone($tinfo) )
+    {
+      mtr_verbose_restart($server, "different timezone");
+      return 1;
+    }
+  }
+
+  my $is_mysqld= grep ($server eq $_, mysqlds());
+  if ($is_mysqld)
+  {
+
+    # Check that running process was started with same options
+    # as the current test requires
+    my $extra_opts= get_extra_opts($server, $tinfo);
+    my $started_opts= $server->{'started_opts'};
+
+    # Also, always restart if server had been restarted with additional
+    # options within test.
+    if (!My::Options::same($started_opts, $extra_opts) ||
+        exists $server->{'restart_opts'})
+    {
+      my $use_dynamic_option_switch= 0;
+      if (!$use_dynamic_option_switch)
+      {
+	mtr_verbose_restart($server, "running with different options '" .
+			    join(" ", @{$extra_opts}) . "' != '" .
+			    join(" ", @{$started_opts}) . "'" );
+	return 1;
+      }
+
+      mtr_verbose(My::Options::toStr("started_opts", @$started_opts));
+      mtr_verbose(My::Options::toStr("extra_opts", @$extra_opts));
+
+      # Get diff and check if dynamic switch is possible
+      my @diff_opts= My::Options::diff($started_opts, $extra_opts);
+      mtr_verbose(My::Options::toStr("diff_opts", @diff_opts));
+
+      my $query= My::Options::toSQL(@diff_opts);
+      mtr_verbose("Attempting dynamic switch '$query'");
+      if (run_query($tinfo, $server, $query)){
+	mtr_verbose("Restart: running with different options '" .
+		    join(" ", @{$extra_opts}) . "' != '" .
+		    join(" ", @{$started_opts}) . "'" );
+	return 1;
+      }
+
+      # Remember the dynamically set options
+      $server->{'started_opts'}= $extra_opts;
+    }
+  }
+
+  # Default, no restart
+  return 0;
+}
+
+
+sub servers_need_restart($) {
+  my ($tinfo)= @_;
+  return grep { server_need_restart($tinfo, $_); } all_servers();
+}
+
+
+
+#
+# Return list of specific servers
+#  - there is no servers in an empty config
+#
+sub _like   { return $config ? $config->like($_[0]) : (); }
+sub mysqlds { return _like('mysqld.'); }
+sub ndbds   { return _like('cluster_config.ndbd.');}
+sub ndb_mgmds { return _like('cluster_config.ndb_mgmd.'); }
+sub clusters  { return _like('mysql_cluster.'); }
+sub all_servers { return ( mysqlds(), ndb_mgmds(), ndbds() ); }
+
+
+#
+# Filter a list of servers and return only those that are part
+# of the specified cluster
+#
+sub in_cluster {
+  my ($cluster)= shift;
+  # Return only processes for a specific cluster
+  return grep { $_->suffix() eq $cluster->suffix() } @_;
+}
+
+
+
+#
+# Filter a list of servers and return the SafeProcess
+# for only those that are started or stopped
+#
+sub started { return grep(defined $_, map($_->{proc}, @_));  }
+sub stopped { return grep(!defined $_, map($_->{proc}, @_)); }
+
+
+sub envsubst {
+  my $string= shift;
+
+  if ( ! defined $ENV{$string} )
+  {
+    mtr_error(".opt file references '$string' which is not set");
+  }
+
+  return $ENV{$string};
+}
+
+
+sub get_extra_opts {
+  # No extra options if --user-args
+  return \@opt_extra_mysqld_opt if $opt_user_args;
+
+  my ($mysqld, $tinfo)= @_;
+
+  my $opts=
+    $mysqld->option("#!use-slave-opt") ?
+      $tinfo->{slave_opt} : $tinfo->{master_opt};
+
+  # Expand environment variables
+  foreach my $opt ( @$opts )
+  {
+    $opt =~ s/\$\{(\w+)\}/envsubst($1)/ge;
+    $opt =~ s/\$(\w+)/envsubst($1)/ge;
+  }
+  return $opts;
+}
+
+
+sub stop_servers($$) {
+  my ($tinfo, @servers)= @_;
+
+  # Remember if we restarted for this test case (count restarts)
+  $tinfo->{'restarted'}= 1;
+
+  if ( join('|', @servers) eq join('|', all_servers()) )
+  {
+    # All servers are going down, use some kind of order to
+    # avoid too many warnings in the log files
+
+   mtr_report("Restarting all servers");
+
+    #  mysqld processes
+    My::SafeProcess::shutdown( $opt_shutdown_timeout, started(mysqlds()) );
+
+    # cluster processes
+    My::SafeProcess::shutdown( $opt_shutdown_timeout,
+			       started(ndbds(), ndb_mgmds()) );
+  }
+  else
+  {
+    mtr_report("Restarting ", started(@servers));
+
+     # Stop only some servers
+    My::SafeProcess::shutdown( $opt_shutdown_timeout,
+			       started(@servers) );
+  }
+
+  foreach my $server (@servers)
+  {
+    # Mark server as stopped
+    $server->{proc}= undef;
+
+    # Forget history
+    delete $server->{'started_tinfo'};
+    delete $server->{'started_opts'};
+    delete $server->{'started_cnf'};
+  }
+}
+
+
+#
+# start_servers
+#
+# Start servers not already started
+#
+# RETURN
+#  0 OK
+#  1 Start failed
+#
+sub start_servers($) {
+  my ($tinfo)= @_;
+
+  # Make sure the safe_process also exits from now on
+  # Could not be done before, as we don't want this for the bootstrap
+  if ($opt_start_exit) {
+    My::SafeProcess->start_exit();
+  }
+
+  # Start clusters
+  foreach my $cluster ( clusters() )
+  {
+    ndbcluster_start($cluster);
+  }
+
+  # Start mysqlds
+  foreach my $mysqld ( mysqlds() )
+  {
+    if ( $mysqld->{proc} )
+    {
+      # Already started
+
+      # Write start of testcase to log file
+      mark_log($mysqld->value('#log-error'), $tinfo);
+
+      next;
+    }
+
+    my $datadir= $mysqld->value('datadir');
+    if ($opt_start_dirty)
+    {
+      # Don't delete anything if starting dirty
+      ;
+    }
+    else
+    {
+
+      my @options= ('log-bin', 'relay-log');
+      foreach my $option_name ( @options )  {
+	next unless $mysqld->option($option_name);
+
+	my $file_name= $mysqld->value($option_name);
+	next unless
+	  defined $file_name and
+	    -e $file_name;
+
+	mtr_debug(" -removing '$file_name'");
+	unlink($file_name) or die ("unable to remove file '$file_name'");
+      }
+
+      if (-d $datadir ) {
+	mtr_verbose(" - removing '$datadir'");
+	rmtree($datadir);
+      }
+    }
+
+    my $mysqld_basedir= $mysqld->value('basedir');
+    if ( $basedir eq $mysqld_basedir )
+    {
+      if (! $opt_start_dirty)	# If dirty, keep possibly grown system db
+      {
+	# Copy datadir from installed system db
+	for my $path ( "$opt_vardir", "$opt_vardir/..") {
+	  my $install_db= "$path/install.db";
+	  copytree($install_db, $datadir)
+	    if -d $install_db;
+	}
+	mtr_error("Failed to copy system db to '$datadir'")
+	  unless -d $datadir;
+      }
+    }
+    else
+    {
+      mysql_install_db($mysqld); # For versional testing
+
+      mtr_error("Failed to install system db to '$datadir'")
+	unless -d $datadir;
+
+    }
+
+    # Create the servers tmpdir
+    my $tmpdir= $mysqld->value('tmpdir');
+    mkpath($tmpdir) unless -d $tmpdir;
+
+    # Write start of testcase to log file
+    mark_log($mysqld->value('#log-error'), $tinfo);
+
+    # Run <tname>-master.sh
+    if ($mysqld->option('#!run-master-sh') and
+       run_sh_script($tinfo->{master_sh}) )
+    {
+      $tinfo->{'comment'}= "Failed to execute '$tinfo->{master_sh}'";
+      return 1;
+    }
+
+    # Run <tname>-slave.sh
+    if ($mysqld->option('#!run-slave-sh') and
+	run_sh_script($tinfo->{slave_sh}))
+    {
+      $tinfo->{'comment'}= "Failed to execute '$tinfo->{slave_sh}'";
+      return 1;
+    }
+
+    if (!$opt_embedded_server)
+    {
+      my $extra_opts= get_extra_opts($mysqld, $tinfo);
+      mysqld_start($mysqld,$extra_opts);
+
+      # Save this test case information, so next can examine it
+      $mysqld->{'started_tinfo'}= $tinfo;
+    }
+
+  }
+
+  # Wait for clusters to start
+  foreach my $cluster ( clusters() )
+  {
+    if (ndbcluster_wait_started($cluster, ""))
+    {
+      # failed to start
+      $tinfo->{'comment'}= "Start of '".$cluster->name()."' cluster failed";
+      return 1;
+    }
+  }
+
+  # Wait for mysqlds to start
+  foreach my $mysqld ( mysqlds() )
+  {
+    next if !started($mysqld);
+
+    if (sleep_until_file_created($mysqld->value('pid-file'),
+				 $opt_start_timeout,
+				 $mysqld->{'proc'}) == 0) {
+      $tinfo->{comment}=
+	"Failed to start ".$mysqld->name();
+
+      my $logfile= $mysqld->value('#log-error');
+      if ( defined $logfile and -f $logfile )
+      {
+        my @srv_lines= extract_server_log($logfile, $tinfo->{name});
+	$tinfo->{logfile}= "Server log is:\n" . join ("", @srv_lines);
+      }
+      else
+      {
+	$tinfo->{logfile}= "Could not open server logfile: '$logfile'";
+      }
+      return 1;
+    }
+  }
+  return 0;
+}
+
+
+#
+# Run include/check-testcase.test
+# Before a testcase, run in record mode and save result file to var/tmp
+# After testcase, run and compare with the recorded file, they should be equal!
+#
+# RETURN VALUE
+#  The newly started process
+#
+sub start_check_testcase ($$$) {
+  my $tinfo=    shift;
+  my $mode=     shift;
+  my $mysqld=   shift;
+
+  my $name= "check-".$mysqld->name();
+  # Replace dots in name with underscore to avoid that mysqltest
+  # misinterpret's what the filename extension is :(
+  $name=~ s/\./_/g;
+
+  my $args;
+  mtr_init_args(\$args);
+
+  mtr_add_arg($args, "--defaults-file=%s", $path_config_file);
+  mtr_add_arg($args, "--defaults-group-suffix=%s", $mysqld->after('mysqld'));
+  mtr_add_arg($args, "--result-file=%s", "$opt_vardir/tmp/$name.result");
+  mtr_add_arg($args, "--test-file=%s", "include/check-testcase.test");
+  mtr_add_arg($args, "--verbose");
+
+  if ( $mode eq "before" )
+  {
+    mtr_add_arg($args, "--record");
+  }
+  my $errfile= "$opt_vardir/tmp/$name.err";
+  my $proc= My::SafeProcess->new
+    (
+     name          => $name,
+     path          => $exe_mysqltest,
+     error         => $errfile,
+     output        => $errfile,
+     args          => \$args,
+     user_data     => $errfile,
+     verbose       => $opt_verbose,
+    );
+
+  mtr_report("Started $proc");
+  return $proc;
+}
+
+
+sub run_mysqltest ($) {
+  my $proc= start_mysqltest(@_);
+  $proc->wait();
+}
+
+
+sub start_mysqltest ($) {
+  my ($tinfo)= @_;
+  my $exe= $exe_mysqltest;
+  my $args;
+
+  mark_time_used('admin');
+
+  mtr_init_args(\$args);
+
+  if ( $opt_strace_client )
+  {
+    $exe=  "strace";
+    mtr_add_arg($args, "-o");
+    mtr_add_arg($args, "%s/log/mysqltest.strace", $opt_vardir);
+    mtr_add_arg($args, "$exe_mysqltest");
+  }
+
+  mtr_add_arg($args, "--defaults-file=%s", $path_config_file);
+  mtr_add_arg($args, "--silent");
+  mtr_add_arg($args, "--tmpdir=%s", $opt_tmpdir);
+  mtr_add_arg($args, "--character-sets-dir=%s", $path_charsetsdir);
+  mtr_add_arg($args, "--logdir=%s/log", $opt_vardir);
+  if ($auth_plugin)
+  {
+    mtr_add_arg($args, "--plugin_dir=%s", dirname($auth_plugin));
+  }
+
+  # Log line number and time  for each line in .test file
+  mtr_add_arg($args, "--mark-progress")
+    if $opt_mark_progress;
+
+  mtr_add_arg($args, "--database=test");
+
+  if ( $opt_ps_protocol )
+  {
+    mtr_add_arg($args, "--ps-protocol");
+  }
+
+  if ( $opt_sp_protocol )
+  {
+    mtr_add_arg($args, "--sp-protocol");
+  }
+
+  if ( $opt_view_protocol )
+  {
+    mtr_add_arg($args, "--view-protocol");
+  }
+
+  if ( $opt_cursor_protocol )
+  {
+    mtr_add_arg($args, "--cursor-protocol");
+  }
+
+
+  mtr_add_arg($args, "--timer-file=%s/log/timer", $opt_vardir);
+
+  if ( $opt_compress )
+  {
+    mtr_add_arg($args, "--compress");
+  }
+
+  if ( $opt_sleep )
+  {
+    mtr_add_arg($args, "--sleep=%d", $opt_sleep);
+  }
+
+  if ( $opt_ssl )
+  {
+    # Turn on SSL for _all_ test cases if option --ssl was used
+    mtr_add_arg($args, "--ssl");
+  }
+
+  if ( $opt_max_connections ) {
+    mtr_add_arg($args, "--max-connections=%d", $opt_max_connections);
+  }
+
+  if ( $opt_embedded_server )
+  {
+
+    # Get the args needed for the embedded server
+    # and append them to args prefixed
+    # with --sever-arg=
+
+    my $mysqld=  $config->group('embedded')
+      or mtr_error("Could not get [embedded] section");
+
+    my $mysqld_args;
+    mtr_init_args(\$mysqld_args);
+    my $extra_opts= get_extra_opts($mysqld, $tinfo);
+    mysqld_arguments($mysqld_args, $mysqld, $extra_opts);
+    mtr_add_arg($args, "--server-arg=%s", $_) for @$mysqld_args;
+
+    if (IS_WINDOWS)
+    {
+      # Trick the server to send output to stderr, with --console
+      mtr_add_arg($args, "--server-arg=--console");
+    }
+  }
+
+  # ----------------------------------------------------------------------
+  # export MYSQL_TEST variable containing <path>/mysqltest <args>
+  # ----------------------------------------------------------------------
+  $ENV{'MYSQL_TEST'}= mtr_args2str($exe_mysqltest, @$args);
+
+  # ----------------------------------------------------------------------
+  # Add arguments that should not go into the MYSQL_TEST env var
+  # ----------------------------------------------------------------------
+  if ( $opt_valgrind_mysqltest )
+  {
+    # Prefix the Valgrind options to the argument list.
+    # We do this here, since we do not want to Valgrind the nested invocations
+    # of mysqltest; that would mess up the stderr output causing test failure.
+    my @args_saved = @$args;
+    mtr_init_args(\$args);
+    valgrind_arguments($args, \$exe);
+    mtr_add_arg($args, "%s", $_) for @args_saved;
+  }
+
+  mtr_add_arg($args, "--test-file=%s", $tinfo->{'path'});
+
+  # Number of lines of resut to include in failure report
+  mtr_add_arg($args, "--tail-lines=20");
+
+  if ( defined $tinfo->{'result_file'} ) {
+    mtr_add_arg($args, "--result-file=%s", $tinfo->{'result_file'});
+  }
+
+  client_debug_arg($args, "mysqltest");
+
+  if ( $opt_record )
+  {
+    mtr_add_arg($args, "--record");
+
+    # When recording to a non existing result file
+    # the name of that file is in "record_file"
+    if ( defined $tinfo->{'record_file'} ) {
+      mtr_add_arg($args, "--result-file=%s", $tinfo->{record_file});
+    }
+  }
+
+  if ( $opt_client_gdb )
+  {
+    gdb_arguments(\$args, \$exe, "client");
+  }
+  elsif ( $opt_client_ddd )
+  {
+    ddd_arguments(\$args, \$exe, "client");
+  }
+  if ( $opt_client_dbx ) {
+    dbx_arguments(\$args, \$exe, "client");
+  }
+  elsif ( $opt_client_debugger )
+  {
+    debugger_arguments(\$args, \$exe, "client");
+  }
+
+  my $proc= My::SafeProcess->new
+    (
+     name          => "mysqltest",
+     path          => $exe,
+     args          => \$args,
+     append        => 1,
+     error         => $path_current_testlog,
+     verbose       => $opt_verbose,
+    );
+  mtr_verbose("Started $proc");
+  return $proc;
+}
+
+sub create_debug_statement {
+  my $args= shift;
+  my $input= shift;
+
+  # Put $args into a single string
+  my $str= join(" ", @$$args);
+  my $runline= $input ? "run $str < $input" : "run $str";
+
+  # add quotes to escape ; in plugin_load option
+  my $pos1 = index($runline, "--plugin_load=");
+  if ( $pos1 != -1 ) {
+    my $pos2 = index($runline, " ",$pos1);
+    substr($runline,$pos1+14,0) = "\"";
+    substr($runline,$pos2+1,0) = "\"";
+  }
+
+  return $runline;
+}
+
+#
+# Modify the exe and args so that program is run in gdb in xterm
+#
+sub gdb_arguments {
+  my $args= shift;
+  my $exe=  shift;
+  my $type= shift;
+  my $input= shift;
+
+  my $gdb_init_file= "$opt_vardir/tmp/gdbinit.$type";
+
+  # Remove the old gdbinit file
+  unlink($gdb_init_file);
+
+  my $runline=create_debug_statement($args,$input);
+
+  # write init file for mysqld or client
+  mtr_tofile($gdb_init_file,
+	     "break main\n" .
+	     $runline);
+
+  if ( $opt_manual_gdb )
+  {
+     print "\nTo start gdb for $type, type in another window:\n";
+     print "gdb -cd $glob_mysql_test_dir -x $gdb_init_file $$exe\n";
+
+     # Indicate the exe should not be started
+     $$exe= undef;
+     return;
+  }
+
+  $$args= [];
+  mtr_add_arg($$args, "-title");
+  mtr_add_arg($$args, "$type");
+  mtr_add_arg($$args, "-e");
+
+  if ( $exe_libtool )
+  {
+    mtr_add_arg($$args, $exe_libtool);
+    mtr_add_arg($$args, "--mode=execute");
+  }
+
+  mtr_add_arg($$args, "gdb");
+  mtr_add_arg($$args, "-x");
+  mtr_add_arg($$args, "$gdb_init_file");
+  mtr_add_arg($$args, "$$exe");
+
+  $$exe= "xterm";
+}
+
+ #
+# Modify the exe and args so that program is run in lldb
+#
+sub lldb_arguments {
+  my $args= shift;
+  my $exe= shift;
+  my $type= shift;
+  my $input= shift;
+
+  my $lldb_init_file= "$opt_vardir/tmp/lldbinit.$type";
+  unlink($lldb_init_file);
+
+  my $runline=create_debug_statement($args,$input);
+
+  # write init file for mysqld or client
+  mtr_tofile($lldb_init_file,
+	     "b main\n" .
+	     $runline);
+
+    print "\nTo start lldb for $type, type in another window:\n";
+    print "cd $glob_mysql_test_dir && lldb -s $lldb_init_file $$exe\n";
+
+    # Indicate the exe should not be started
+    $$exe= undef;
+    return;
+}
+
+#
+# Modify the exe and args so that program is run in ddd
+#
+sub ddd_arguments {
+  my $args= shift;
+  my $exe=  shift;
+  my $type= shift;
+  my $input= shift;
+
+  my $gdb_init_file= "$opt_vardir/tmp/gdbinit.$type";
+
+  # Remove the old gdbinit file
+  unlink($gdb_init_file);
+
+  my $runline=create_debug_statement($args,$input);
+
+  # write init file for mysqld or client
+  mtr_tofile($gdb_init_file,
+	     "file $$exe\n" .
+	     "break main\n" .
+	     $runline);
+
+  if ( $opt_manual_ddd )
+  {
+     print "\nTo start ddd for $type, type in another window:\n";
+     print "ddd -cd $glob_mysql_test_dir -x $gdb_init_file $$exe\n";
+
+     # Indicate the exe should not be started
+     $$exe= undef;
+     return;
+  }
+
+  my $save_exe= $$exe;
+  $$args= [];
+  if ( $exe_libtool )
+  {
+    $$exe= $exe_libtool;
+    mtr_add_arg($$args, "--mode=execute");
+    mtr_add_arg($$args, "ddd");
+  }
+  else
+  {
+    $$exe= "ddd";
+  }
+  mtr_add_arg($$args, "--command=$gdb_init_file");
+  mtr_add_arg($$args, "$save_exe");
+}
+
+
+#
+# Modify the exe and args so that program is run in dbx in xterm
+#
+sub dbx_arguments {
+  my $args= shift;
+  my $exe=  shift;
+  my $type= shift;
+  my $input= shift;
+
+  # Put $args into a single string
+  my $str= join " ", @$$args;
+  my $runline= $input ? "run $str < $input" : "run $str";
+
+  if ( $opt_manual_dbx ) {
+    print "\nTo start dbx for $type, type in another window:\n";
+    print "cd $glob_mysql_test_dir; dbx -c \"stop in main; " .
+          "$runline\" $$exe\n";
+
+    # Indicate the exe should not be started
+    $$exe= undef;
+    return;
+  }
+
+  $$args= [];
+  mtr_add_arg($$args, "-title");
+  mtr_add_arg($$args, "$type");
+  mtr_add_arg($$args, "-e");
+
+  if ( $exe_libtool ) {
+    mtr_add_arg($$args, $exe_libtool);
+    mtr_add_arg($$args, "--mode=execute");
+  }
+
+  mtr_add_arg($$args, "dbx");
+  mtr_add_arg($$args, "-c");
+  mtr_add_arg($$args, "stop in main; $runline");
+  mtr_add_arg($$args, "$$exe");
+
+  $$exe= "xterm";
+}
+
+
+#
+# Modify the exe and args so that program is run in the selected debugger
+#
+sub debugger_arguments {
+  my $args= shift;
+  my $exe=  shift;
+  my $debugger= $opt_debugger || $opt_client_debugger;
+
+  if ( $debugger =~ /vcexpress|vc|devenv/ )
+  {
+    # vc[express] /debugexe exe arg1 .. argn
+
+    # Add name of the exe and /debugexe before args
+    unshift(@$$args, "$$exe");
+    unshift(@$$args, "/debugexe");
+
+    # Set exe to debuggername
+    $$exe= $debugger;
+
+  }
+  elsif ( $debugger =~ /windbg/ )
+  {
+    # windbg exe arg1 .. argn
+
+    # Add name of the exe before args
+    unshift(@$$args, "$$exe");
+
+    # Set exe to debuggername
+    $$exe= $debugger;
+
+  }
+  else
+  {
+    mtr_error("Unknown argument \"$debugger\" passed to --debugger");
+  }
+}
+
+#
+# Modify the exe and args so that program is run in strace 
+#
+sub strace_server_arguments {
+  my $args= shift;
+  my $exe=  shift;
+  my $type= shift;
+
+  mtr_add_arg($args, "-o");
+  mtr_add_arg($args, "%s/log/%s.strace", $opt_vardir, $type);
+  mtr_add_arg($args, $$exe);
+  $$exe= "strace";
+}
+
+#
+# Modify the exe and args so that program is run in valgrind
+#
+sub valgrind_arguments {
+  my $args= shift;
+  my $exe=  shift;
+
+  if ( $opt_callgrind)
+  {
+    mtr_add_arg($args, "--tool=callgrind");
+    mtr_add_arg($args, "--base=$opt_vardir/log");
+  }
+  else
+  {
+    mtr_add_arg($args, "--tool=memcheck"); # From >= 2.1.2 needs this option
+    mtr_add_arg($args, "--leak-check=yes");
+    mtr_add_arg($args, "--num-callers=16");
+    mtr_add_arg($args, "--suppressions=%s/valgrind.supp", $glob_mysql_test_dir)
+      if -f "$glob_mysql_test_dir/valgrind.supp";
+  }
+
+  # Add valgrind options, can be overriden by user
+  mtr_add_arg($args, '%s', $_) for (@valgrind_args);
+
+  mtr_add_arg($args, $$exe);
+
+  $$exe= $opt_valgrind_path || "valgrind";
+
+  if ($exe_libtool)
+  {
+    # Add "libtool --mode-execute" before the test to execute
+    # if running in valgrind(to avoid valgrinding bash)
+    unshift(@$args, "--mode=execute", $$exe);
+    $$exe= $exe_libtool;
+  }
+}
+
+#
+# Search server logs for valgrind reports printed at mysqld termination
+#
+
+sub valgrind_exit_reports() {
+  my $found_err= 0;
+
+  foreach my $log_file (keys %mysqld_logs)
+  {
+    my @culprits= ();
+    my $valgrind_rep= "";
+    my $found_report= 0;
+    my $err_in_report= 0;
+
+    my $LOGF = IO::File->new($log_file)
+      or mtr_error("Could not open file '$log_file' for reading: $!");
+
+    while ( my $line = <$LOGF> )
+    {
+      if ($line =~ /^CURRENT_TEST: (.+)$/)
+      {
+        my $testname= $1;
+        # If we have a report, report it if needed and start new list of tests
+        if ($found_report)
+        {
+          if ($err_in_report)
+          {
+            mtr_print ("Valgrind report from $log_file after tests:\n",
+                        @culprits);
+            mtr_print_line();
+            print ("$valgrind_rep\n");
+            $found_err= 1;
+            $err_in_report= 0;
+          }
+          # Make ready to collect new report
+          @culprits= ();
+          $found_report= 0;
+          $valgrind_rep= "";
+        }
+        push (@culprits, $testname);
+        next;
+      }
+      # This line marks the start of a valgrind report
+      $found_report= 1 if $line =~ /^==\d+== .* SUMMARY:/;
+
+      if ($found_report) {
+        $line=~ s/^==\d+== //;
+        $valgrind_rep .= $line;
+        $err_in_report= 1 if $line =~ /ERROR SUMMARY: [1-9]/;
+        $err_in_report= 1 if $line =~ /definitely lost: [1-9]/;
+        $err_in_report= 1 if $line =~ /possibly lost: [1-9]/;
+      }
+    }
+
+    $LOGF= undef;
+
+    if ($err_in_report) {
+      mtr_print ("Valgrind report from $log_file after tests:\n", @culprits);
+      mtr_print_line();
+      print ("$valgrind_rep\n");
+      $found_err= 1;
+    }
+  }
+
+  return $found_err;
+}
+
+sub run_ctest() {
+  my $olddir= getcwd();
+  chdir ($bindir) or die ("Could not chdir to $bindir");
+  my $tinfo;
+  my $no_ctest= (IS_WINDOWS) ? 256 : -1;
+  my $ctest_vs= "";
+
+  # Just ignore if not configured/built to run ctest
+  if (! -f "CTestTestfile.cmake") {
+    chdir($olddir);
+    return;
+  }
+
+  # Add vs-config option if needed
+  $ctest_vs= "-C $opt_vs_config" if $opt_vs_config;
+
+  # Also silently ignore if we don't have ctest and didn't insist
+  # Special override: also ignore in Pushbuild, some platforms may not have it
+  # Now, run ctest and collect output
+  my $ctest_out= `ctest $ctest_vs 2>&1`;
+  if ($? == $no_ctest && ($opt_ctest == -1 || defined $ENV{PB2WORKDIR})) {
+    chdir($olddir);
+    return;
+  }
+
+  # Create minimalistic "test" for the reporting
+  $tinfo = My::Test->new
+    (
+     name           => 'unit_tests',
+    );
+  # Set dummy worker id to align report with normal tests
+  $tinfo->{worker} = 0 if $opt_parallel > 1;
+
+  my $ctfail= 0;		# Did ctest fail?
+  if ($?) {
+    $ctfail= 1;
+    $tinfo->{result}= 'MTR_RES_FAILED';
+    $tinfo->{comment}= "ctest failed with exit code $?, see result below";
+    $ctest_out= "" unless $ctest_out;
+  }
+  my $ctfile= "$opt_vardir/ctest.log";
+  my $ctres= 0;			# Did ctest produce report summary?
+
+  open (CTEST, " > $ctfile") or die ("Could not open output file $ctfile");
+
+  $ctest_report .= $ctest_out if $opt_ctest_report;
+
+  # Put ctest output in log file, while analyzing results
+  for (split ('\n', $ctest_out)) {
+    print CTEST "$_\n";
+    if (/tests passed/) {
+      $ctres= 1;
+      $ctest_report .= "\nUnit tests: $_\n";
+    }
+    if ( /FAILED/ or /\(Failed\)/ ) {
+      $ctfail= 1;
+      $ctest_report .= "  $_\n";
+    }
+  }
+  close CTEST;
+
+  # Set needed 'attributes' for test reporting
+  $tinfo->{comment}.= "\nctest did not pruduce report summary" if ! $ctres;
+  $tinfo->{result}= ($ctres && !$ctfail)
+    ? 'MTR_RES_PASSED' : 'MTR_RES_FAILED';
+  $ctest_report .= "Report from unit tests in $ctfile";
+  $tinfo->{failures}= ($tinfo->{result} eq 'MTR_RES_FAILED');
+
+  mark_time_used('test');
+  mtr_report_test($tinfo);
+  chdir($olddir);
+  return $tinfo;
+}
+
+#
+# Usage
+#
+sub usage ($) {
+  my ($message)= @_;
+
+  if ( $message )
+  {
+    print STDERR "$message\n";
+  }
+
+  print <<HERE;
+
+$0 [ OPTIONS ] [ TESTCASE ]
+
+Options to control what engine/variation to run
+
+  embedded-server       Use the embedded server, i.e. no mysqld daemons
+  ps-protocol           Use the binary protocol between client and server
+  cursor-protocol       Use the cursor protocol between client and server
+                        (implies --ps-protocol)
+  view-protocol         Create a view to execute all non updating queries
+  sp-protocol           Create a stored procedure to execute all queries
+  compress              Use the compressed protocol between client and server
+  ssl                   Use ssl protocol between client and server
+  skip-ssl              Dont start server with support for ssl connections
+  vs-config             Visual Studio configuration used to create executables
+                        (default: MTR_VS_CONFIG environment variable)
+
+  defaults-file=<config template> Use fixed config template for all
+                        tests
+  defaults-extra-file=<config template> Extra config template to add to
+                        all generated configs
+  combination=<opt>     Use at least twice to run tests with specified 
+                        options to mysqld
+  skip-combinations     Ignore combination file (or options)
+
+Options to control directories to use
+  tmpdir=DIR            The directory where temporary files are stored
+                        (default: ./var/tmp).
+  vardir=DIR            The directory where files generated from the test run
+                        is stored (default: ./var). Specifying a ramdisk or
+                        tmpfs will speed up tests.
+  mem                   Run testsuite in "memory" using tmpfs or ramdisk
+                        Attempts to find a suitable location
+                        using a builtin list of standard locations
+                        for tmpfs (/dev/shm)
+                        The option can also be set using environment
+                        variable MTR_MEM=[DIR]
+  clean-vardir          Clean vardir if tests were successful and if
+                        running in "memory". Otherwise this option is ignored
+  client-bindir=PATH    Path to the directory where client binaries are located
+  client-libdir=PATH    Path to the directory where client libraries are located
+
+
+Options to control what test suites or cases to run
+
+  force                 Continue to run the suite after failure
+  with-ndbcluster-only  Run only tests that include "ndb" in the filename
+  skip-ndb[cluster]     Skip all tests that need cluster. Default.
+  include-ndb[cluster]  Enable all tests that need cluster
+  do-test=PREFIX or REGEX
+                        Run test cases which name are prefixed with PREFIX
+                        or fulfills REGEX
+  skip-test=PREFIX or REGEX
+                        Skip test cases which name are prefixed with PREFIX
+                        or fulfills REGEX
+  start-from=PREFIX     Run test cases starting test prefixed with PREFIX where
+                        prefix may be suite.testname or just testname
+  suite[s]=NAME1,..,NAMEN
+                        Collect tests in suites from the comma separated
+                        list of suite names.
+                        The default is: "$DEFAULT_SUITES"
+  skip-rpl              Skip the replication test cases.
+  big-test              Also run tests marked as "big"
+  enable-disabled       Run also tests marked as disabled
+  print-testcases       Don't run the tests but print details about all the
+                        selected tests, in the order they would be run.
+  skip-test-list=FILE   Skip the tests listed in FILE. Each line in the file
+                        is an entry and should be formatted as: 
+                        <TESTNAME> : <COMMENT>
+
+Options that specify ports
+
+  mtr-port-base=#       Base for port numbers, ports from this number to
+  port-base=#           number+9 are reserved. Should be divisible by 10;
+                        if not it will be rounded down. May be set with
+                        environment variable MTR_PORT_BASE. If this value is
+                        set and is not "auto", it overrides build-thread.
+  mtr-build-thread=#    Specify unique number to calculate port number(s) from.
+  build-thread=#        Can be set in environment variable MTR_BUILD_THREAD.
+                        Set  MTR_BUILD_THREAD="auto" to automatically aquire
+                        a build thread id that is unique to current host
+
+Options for test case authoring
+
+  record TESTNAME       (Re)genereate the result file for TESTNAME
+  check-testcases       Check testcases for sideeffects
+  mark-progress         Log line number and elapsed time to <testname>.progress
+
+Options that pass on options (these may be repeated)
+
+  mysqld=ARGS           Specify additional arguments to "mysqld"
+  mysqld-env=VAR=VAL    Specify additional environment settings for "mysqld"
+
+Options to run test on running server
+
+  extern option=value   Run only the tests against an already started server
+                        the options to use for connection to the extern server
+                        must be specified using name-value pair notation
+                        For example:
+                         ./$0 --extern socket=/tmp/mysqld.sock
+
+Options for debugging the product
+
+  boot-dbx              Start bootstrap server in dbx
+  boot-ddd              Start bootstrap server in ddd
+  boot-gdb              Start bootstrap server in gdb
+  client-dbx            Start mysqltest client in dbx
+  client-ddd            Start mysqltest client in ddd
+  client-debugger=NAME  Start mysqltest in the selected debugger
+  client-gdb            Start mysqltest client in gdb
+  dbx                   Start the mysqld(s) in dbx
+  ddd                   Start the mysqld(s) in ddd
+  debug                 Dump trace output for all servers and client programs
+  debug-common          Same as debug, but sets 'd' debug flags to
+                        "query,info,error,enter,exit"
+  debug-server          Use debug version of server, but without turning on
+                        tracing
+  debugger=NAME         Start mysqld in the selected debugger
+  gdb                   Start the mysqld(s) in gdb
+  manual-debug          Let user manually start mysqld in debugger, before
+                        running test(s)
+  manual-gdb            Let user manually start mysqld in gdb, before running
+                        test(s)
+  manual-ddd            Let user manually start mysqld in ddd, before running
+                        test(s)
+  manual-dbx            Let user manually start mysqld in dbx, before running
+                        test(s)
+  manual-lldb           Let user manually start mysqld in lldb, before running 
+                        test(s)
+  strace-client         Create strace output for mysqltest client, 
+  strace-server         Create strace output for mysqltest server, 
+  max-save-core         Limit the number of core files saved (to avoid filling
+                        up disks for heavily crashing server). Defaults to
+                        $opt_max_save_core, set to 0 for no limit. Set
+                        it's default with MTR_MAX_SAVE_CORE
+  max-save-datadir      Limit the number of datadir saved (to avoid filling
+                        up disks for heavily crashing server). Defaults to
+                        $opt_max_save_datadir, set to 0 for no limit. Set
+                        it's default with MTR_MAX_SAVE_DATDIR
+  max-test-fail         Limit the number of test failurs before aborting
+                        the current test run. Defaults to
+                        $opt_max_test_fail, set to 0 for no limit. Set
+                        it's default with MTR_MAX_TEST_FAIL
+
+Options for valgrind
+
+  valgrind              Run the "mysqltest" and "mysqld" executables using
+                        valgrind with default options
+  valgrind-all          Synonym for --valgrind
+  valgrind-mysqltest    Run the "mysqltest" and "mysql_client_test" executable
+                        with valgrind
+  valgrind-mysqld       Run the "mysqld" executable with valgrind
+  valgrind-options=ARGS Deprecated, use --valgrind-option
+  valgrind-option=ARGS  Option to give valgrind, replaces default option(s),
+                        can be specified more then once
+  valgrind-path=<EXE>   Path to the valgrind executable
+  callgrind             Instruct valgrind to use callgrind
+
+Misc options
+  user=USER             User for connecting to mysqld(default: $opt_user)
+  comment=STR           Write STR to the output
+  timer                 Show test case execution time.
+  verbose               More verbose output(use multiple times for even more)
+  verbose-restart       Write when and why servers are restarted
+  start                 Only initialize and start the servers, using the
+                        startup settings for the first specified test case
+                        Example:
+                         $0 --start alias &
+  start-and-exit        Same as --start, but mysql-test-run terminates and
+                        leaves just the server running
+  start-dirty           Only start the servers (without initialization) for
+                        the first specified test case
+  user-args             In combination with start* and no test name, drops
+                        arguments to mysqld except those speficied with
+                        --mysqld (if any)
+  wait-all              If --start or --start-dirty option is used, wait for all
+                        servers to exit before finishing the process
+  fast                  Run as fast as possible, dont't wait for servers
+                        to shutdown etc.
+  force-restart         Always restart servers between tests
+  parallel=N            Run tests in N parallel threads (default=1)
+                        Use parallel=auto for auto-setting of N
+  repeat=N              Run each test N number of times
+  retry=N               Retry tests that fail N times, limit number of failures
+                        to $opt_retry_failure
+  retry-failure=N       Limit number of retries for a failed test
+  reorder               Reorder tests to get fewer server restarts
+  help                  Get this help text
+
+  testcase-timeout=MINUTES Max test case run time (default $opt_testcase_timeout)
+  suite-timeout=MINUTES Max test suite run time (default $opt_suite_timeout)
+  shutdown-timeout=SECONDS Max number of seconds to wait for server shutdown
+                        before killing servers (default $opt_shutdown_timeout)
+  warnings              Scan the log files for warnings. Use --nowarnings
+                        to turn off.
+
+  sleep=SECONDS         Passed to mysqltest, will be used as fixed sleep time
+  debug-sync-timeout=NUM Set default timeout for WAIT_FOR debug sync
+                        actions. Disable facility with NUM=0.
+  gcov                  Collect coverage information after the test.
+                        The result is a gcov file per source and header file.
+  gprof                 Collect profiling information using gprof.
+  experimental=<file>   Refer to list of tests considered experimental;
+                        failures will be marked exp-fail instead of fail.
+  report-features       First run a "test" that reports mysql features
+  timestamp             Print timestamp before each test report line
+  timediff              With --timestamp, also print time passed since
+                        *previous* test started
+  max-connections=N     Max number of open connection to server in mysqltest
+  default-myisam        Set default storage engine to MyISAM for non-innodb
+                        tests. This is needed after switching default storage
+                        engine to InnoDB.
+  report-times          Report how much time has been spent on different
+                        phases of test execution.
+  nounit-tests          Do not run unit tests. Normally run if configured
+                        and if not running named tests/suites
+  unit-tests            Run unit tests even if they would otherwise not be run
+  unit-tests-report     Include report of every test included in unit tests.
+  stress=ARGS           Run stress test, providing options to
+                        mysql-stress-test.pl. Options are separated by comma.
+
+Some options that control enabling a feature for normal test runs,
+can be turned off by prepending 'no' to the option, e.g. --notimer.
+This applies to reorder, timer, check-testcases and warnings.
+
+HERE
+  exit(1);
+
+}
+
+sub list_options ($) {
+  my $hash= shift;
+
+  for (keys %$hash) {
+    s/([:=].*|[+!])$//;
+    s/\|/\n--/g;
+    print "--$_\n" unless /list-options/;
+  }
+
+  exit(1);
+}
+

=== modified file '.pc/70_mysql_va_list.patch/sql-common/client_plugin.c'
--- .pc/70_mysql_va_list.patch/sql-common/client_plugin.c	2011-11-22 11:00:14 +0000
+++ .pc/70_mysql_va_list.patch/sql-common/client_plugin.c	2016-09-14 12:24:46 +0000
@@ -197,6 +197,10 @@
 static void load_env_plugins(MYSQL *mysql)
 {
   char *plugs, *free_env, *s= getenv("LIBMYSQL_PLUGINS");
+  char *enable_cleartext_plugin= getenv("LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN");
+
+  if (enable_cleartext_plugin && strchr("1Yy", enable_cleartext_plugin[0]))
+    libmysql_cleartext_plugin_enabled= 1;
 
   /* no plugins to load */
   if(!s)
@@ -212,6 +216,7 @@
   } while (s);
 
   my_free(free_env);
+
 }
 
 /********** extern functions to be used by libmysql *********************/

=== modified file '.pc/71_disable_rpl_tests.patch/mysql-test/suite/rpl/t/disabled.def'
--- .pc/71_disable_rpl_tests.patch/mysql-test/suite/rpl/t/disabled.def	2011-11-23 12:40:11 +0000
+++ .pc/71_disable_rpl_tests.patch/mysql-test/suite/rpl/t/disabled.def	2016-09-14 12:24:46 +0000
@@ -13,5 +13,3 @@
 rpl_row_create_table      : Bug#11759274 2010-02-27 andrei failed different way than earlier with bug#45576
 rpl_spec_variables        : BUG#11755836 2009-10-27 jasonh rpl_spec_variables fails on PB2 hpux
 rpl_get_master_version_and_clock : Bug#11766137 Jan 05 2011 joro Valgrind warnings rpl_get_master_version_and_clock
-rpl_row_until : BUG#59543 Jan 26 2011 alfranio Replication test from eits suite rpl_row_until times out
-rpl_stm_until : BUG#59543 Jan 26 2011 alfranio Replication test from eits suite rpl_row_until times out

=== modified file '.pc/72_fix_standalone_tests.patch/mysql-test/lib/mtr_cases.pm'
--- .pc/72_fix_standalone_tests.patch/mysql-test/lib/mtr_cases.pm	2011-11-25 18:07:00 +0000
+++ .pc/72_fix_standalone_tests.patch/mysql-test/lib/mtr_cases.pm	2016-09-14 12:24:46 +0000
@@ -1,5 +1,5 @@
 # -*- cperl -*-
-# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -137,6 +137,7 @@
     {
       push(@$cases, collect_one_suite($suite, $opt_cases, $opt_skip_test_list));
       last if $some_test_found;
+      push(@$cases, collect_one_suite("i_".$suite, $opt_cases, $opt_skip_test_list));
     }
   }
 
@@ -288,13 +289,16 @@
       $suitedir= my_find_dir($::basedir,
 			     ["share/mysql-test/suite",
 			      "mysql-test/suite",
+			      "internal/mysql-test/suite",
 			      "mysql-test",
 			      # Look in storage engine specific suite dirs
 			      "storage/*/mtr",
 			      # Look in plugin specific suite dir
 			      "plugin/$suite/tests",
+			      "internal/plugin/$suite/tests",
 			     ],
-			     [$suite, "mtr"]);
+			     [$suite, "mtr"], ($suite =~ /^i_/));
+      return unless $suitedir;
     }
     mtr_verbose("suitedir: $suitedir");
   }
@@ -332,7 +336,7 @@
   # Build a hash of disabled testcases for this suite
   # ----------------------------------------------------------------------
   my %disabled;
-  my @disabled_collection= @{$opt_skip_test_list} if defined @{$opt_skip_test_list};
+  my @disabled_collection= @{$opt_skip_test_list} if $opt_skip_test_list;
   unshift (@disabled_collection, "$testdir/disabled.def");
   for my $skip (@disabled_collection)
     {
@@ -959,18 +963,11 @@
   if ( $tinfo->{'ndb_test'} )
   {
     # This is a NDB test
-    if ( $::opt_skip_ndbcluster == 2 )
-    {
-      # Ndb is not supported, skip it
-      $tinfo->{'skip'}= 1;
-      $tinfo->{'comment'}= "No ndbcluster support or ndb tests not enabled";
-      return $tinfo;
-    }
-    elsif ( $::opt_skip_ndbcluster )
-    {
-      # All ndb test's should be skipped
-      $tinfo->{'skip'}= 1;
-      $tinfo->{'comment'}= "No ndbcluster tests(--skip-ndbcluster)";
+    if ( $::ndbcluster_enabled == 0)
+    {
+      # ndbcluster is disabled
+      $tinfo->{'skip'}= 1;
+      $tinfo->{'comment'}= "ndbcluster disabled";
       return $tinfo;
     }
   }

=== added directory '.pc/73_fix_rpl_deadlock_innodb_test.patch'
=== added directory '.pc/73_fix_rpl_deadlock_innodb_test.patch/mysql-test'
=== added directory '.pc/73_fix_rpl_deadlock_innodb_test.patch/mysql-test/include'
=== added file '.pc/73_fix_rpl_deadlock_innodb_test.patch/mysql-test/include/mtr_warnings.sql'
--- .pc/73_fix_rpl_deadlock_innodb_test.patch/mysql-test/include/mtr_warnings.sql	1970-01-01 00:00:00 +0000
+++ .pc/73_fix_rpl_deadlock_innodb_test.patch/mysql-test/include/mtr_warnings.sql	2016-09-14 12:24:46 +0000
@@ -0,0 +1,270 @@
+-- Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+--
+-- This program is free software; you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation; version 2 of the License.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program; if not, write to the Free Software Foundation,
+-- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
+
+delimiter ||;
+
+use mtr||
+
+--
+-- Create table where testcases can insert patterns to
+-- be suppressed
+--
+CREATE TABLE test_suppressions (
+  pattern VARCHAR(255)
+) ENGINE=MyISAM||
+
+
+--
+-- Declare a trigger that makes sure
+-- no invalid patterns can be inserted
+-- into test_suppressions
+--
+SET @character_set_client_saved = @@character_set_client||
+SET @character_set_results_saved = @@character_set_results||
+SET @collation_connection_saved = @@collation_connection||
+SET @@character_set_client = latin1||
+SET @@character_set_results = latin1||
+SET @@collation_connection = latin1_swedish_ci||
+/*!50002
+CREATE DEFINER=root@localhost TRIGGER ts_insert
+BEFORE INSERT ON test_suppressions
+FOR EACH ROW BEGIN
+  DECLARE dummy INT;
+  SELECT "" REGEXP NEW.pattern INTO dummy;
+END
+*/||
+SET @@character_set_client = @character_set_client_saved||
+SET @@character_set_results = @character_set_results_saved||
+SET @@collation_connection = @collation_connection_saved||
+
+
+--
+-- Load table with patterns that will be suppressed globally(always)
+--
+CREATE TABLE global_suppressions (
+  pattern VARCHAR(255)
+) ENGINE=MyISAM||
+
+
+-- Declare a trigger that makes sure
+-- no invalid patterns can be inserted
+-- into global_suppressions
+--
+SET @character_set_client_saved = @@character_set_client||
+SET @character_set_results_saved = @@character_set_results||
+SET @collation_connection_saved = @@collation_connection||
+SET @@character_set_client = latin1||
+SET @@character_set_results = latin1||
+SET @@collation_connection = latin1_swedish_ci||
+/*!50002
+CREATE DEFINER=root@localhost TRIGGER gs_insert
+BEFORE INSERT ON global_suppressions
+FOR EACH ROW BEGIN
+  DECLARE dummy INT;
+  SELECT "" REGEXP NEW.pattern INTO dummy;
+END
+*/||
+SET @@character_set_client = @character_set_client_saved||
+SET @@character_set_results = @character_set_results_saved||
+SET @@collation_connection = @collation_connection_saved||
+
+
+
+--
+-- Insert patterns that should always be suppressed
+--
+INSERT INTO global_suppressions VALUES
+ (".SELECT UNIX_TIMESTAMP... failed on master"),
+ ("Aborted connection"),
+ ("Client requested master to start replication from impossible position"),
+ ("Could not find first log file name in binary log"),
+ ("Enabling keys got errno"),
+ ("Error reading master configuration"),
+ ("Error reading packet"),
+ ("Event Scheduler"),
+ ("Failed to open log"),
+ ("Failed to open the existing master info file"),
+ ("Forcing shutdown of [0-9]* plugins"),
+ ("Forcing close of thread"),
+
+ /*
+   Due to timing issues, it might be that this warning
+   is printed when the server shuts down and the
+   computer is loaded.
+ */
+
+ ("Got error [0-9]* when reading table"),
+ ("Incorrect definition of table"),
+ ("Incorrect information in file"),
+ ("InnoDB: Warning: we did not need to do crash recovery"),
+ ("Invalid \\(old\\?\\) table or database name"),
+ ("Lock wait timeout exceeded"),
+ ("Log entry on master is longer than max_allowed_packet"),
+ ("unknown option '--loose-"),
+ ("unknown variable 'loose-"),
+ ("You have forced lower_case_table_names to 0 through a command-line option"),
+ ("Setting lower_case_table_names=2"),
+ ("NDB Binlog:"),
+ ("NDB: failed to setup table"),
+ ("NDB: only row based binary logging"),
+ ("Neither --relay-log nor --relay-log-index were used"),
+ ("Query partially completed"),
+ ("Slave I.O thread aborted while waiting for relay log"),
+ ("Slave SQL thread is stopped because UNTIL condition"),
+ ("Slave SQL thread retried transaction"),
+ ("Slave \\(additional info\\)"),
+ ("Slave: .*Duplicate column name"),
+ ("Slave: .*master may suffer from"),
+ ("Slave: According to the master's version"),
+ ("Slave: Column [0-9]* type mismatch"),
+ ("Slave: Error .* doesn't exist"),
+ ("Slave: Error .*Unknown table"),
+ ("Slave: Error in Write_rows event: "),
+ ("Slave: Field .* of table .* has no default value"),
+ ("Slave: Field .* doesn't have a default value"),
+ ("Slave: Query caused different errors on master and slave"),
+ ("Slave: Table .* doesn't exist"),
+ ("Slave: Table width mismatch"),
+ ("Slave: The incident LOST_EVENTS occured on the master"),
+ ("Slave: Unknown error.* 1105"),
+ ("Slave: Can't drop database.* database doesn't exist"),
+ ("Sort aborted"),
+ ("Time-out in NDB"),
+ ("Warning:\s+One can only use the --user.*root"),
+ ("Warning:\s+Table:.* on (delete|rename)"),
+ ("You have an error in your SQL syntax"),
+ ("deprecated"),
+ ("description of time zone"),
+ ("equal MySQL server ids"),
+ ("error .*connecting to master"),
+ ("error reading log entry"),
+ ("lower_case_table_names is set"),
+ ("skip-name-resolve mode"),
+ ("slave SQL thread aborted"),
+ ("Slave: .*Duplicate entry"),
+
+ ("Statement may not be safe to log in statement format"),
+
+ /* innodb foreign key tests that fail in ALTER or RENAME produce this */
+ ("InnoDB: Error: in ALTER TABLE `test`.`t[123]`"),
+ ("InnoDB: Error: in RENAME TABLE table `test`.`t1`"),
+ ("InnoDB: Error: table `test`.`t[123]` does not exist in the InnoDB internal"),
+
+ /*
+   BUG#32080 - Excessive warnings on Solaris: setrlimit could not
+   change the size of core files
+  */
+ ("setrlimit could not change the size of core files to 'infinity'"),
+
+ ("The slave I.O thread stops because a fatal error is encountered when it try to get the value of SERVER_ID variable from master."),
+
+ /* Added 2009-08-XX after fixing Bug #42408 */
+
+ ("Although a path was specified for the .* option, log tables are used"),
+ ("Backup: Operation aborted"),
+ ("Restore: Operation aborted"),
+ ("Restore: The grant .* was skipped because the user does not exist"),
+ ("The path specified for the variable .* is not a directory or cannot be written:"),
+ ("Master server does not support or not configured semi-sync replication, fallback to asynchronous"),
+ (": The MySQL server is running with the --secure-backup-file-priv option so it cannot execute this statement"),
+ ("Slave: Unknown table 't1' Error_code: 1051"),
+
+ /* Messages from valgrind */
+ ("==[0-9]*== Memcheck,"),
+ ("==[0-9]*== Copyright"),
+ ("==[0-9]*== Using"),
+ ("==[0-9]*== For more details"),
+ /* This comes with innodb plugin tests */
+ ("==[0-9]*== Warning: set address range perms: large range"),
+ /* valgrind-3.5.0 dumps this */
+ ("==[0-9]*== Command: "),
+
+ /* valgrind warnings: invalid file descriptor -1 in syscall
+    write()/read(). Bug #50414 */
+ ("==[0-9]*== Warning: invalid file descriptor -1 in syscall write()"),
+ ("==[0-9]*== Warning: invalid file descriptor -1 in syscall read()"),
+
+ /*
+   BUG#42147 - Concurrent DML and LOCK TABLE ... READ for InnoDB 
+   table cause warnings in errlog
+   Note: This is a temporary suppression until Bug#42147 can be 
+   fixed properly. See bug page for more information.
+  */
+ ("Found lock of type 6 that is write and read locked"),
+
+ ("THE_LAST_SUPPRESSION")||
+
+
+--
+-- Procedure that uses the above created tables to check
+-- the servers error log for warnings
+--
+CREATE DEFINER=root@localhost PROCEDURE check_warnings(OUT result INT)
+BEGIN
+  DECLARE `pos` bigint unsigned;
+
+  -- Don't write these queries to binlog
+  SET SQL_LOG_BIN=0;
+
+  --
+  -- Remove mark from lines that are suppressed by global suppressions
+  --
+  UPDATE error_log el, global_suppressions gs
+    SET suspicious=0
+      WHERE el.suspicious=1 AND el.line REGEXP gs.pattern;
+
+  --
+  -- Remove mark from lines that are suppressed by test specific suppressions
+  --
+  UPDATE error_log el, test_suppressions ts
+    SET suspicious=0
+      WHERE el.suspicious=1 AND el.line REGEXP ts.pattern;
+
+  --
+  -- Get the number of marked lines and return result
+  --
+  SELECT COUNT(*) INTO @num_warnings FROM error_log
+    WHERE suspicious=1;
+
+  IF @num_warnings > 0 THEN
+    SELECT line
+        FROM error_log WHERE suspicious=1;
+    --SELECT * FROM test_suppressions;
+    -- Return 2 -> check failed
+    SELECT 2 INTO result;
+  ELSE
+    -- Return 0 -> OK
+    SELECT 0 INTO RESULT;
+  END IF;
+
+  -- Cleanup for next test
+  TRUNCATE test_suppressions;
+  DROP TABLE error_log;
+
+END||
+
+--
+-- Declare a procedure testcases can use to insert test
+-- specific suppressions
+--
+/*!50001
+CREATE DEFINER=root@localhost
+PROCEDURE add_suppression(pattern VARCHAR(255))
+BEGIN
+  INSERT INTO test_suppressions (pattern) VALUES (pattern);
+END
+*/||
+
+

=== modified file '.pc/applied-patches'
--- .pc/applied-patches	2012-03-29 17:31:30 +0000
+++ .pc/applied-patches	2016-09-14 12:24:46 +0000
@@ -3,4 +3,8 @@
 70_mysql_va_list.patch
 71_disable_rpl_tests.patch
 72_fix_standalone_tests.patch
-fix-mysqldump-test.patch
+73_fix_rpl_deadlock_innodb_test.patch
+33_scripts__mysql_create_system_tables__no_test.patch
+41_scripts__mysql_install_db.sh__no_test.patch
+50_mysql-test__db_test.patch
+revert_atomic.patch

=== removed directory '.pc/fix-mysqldump-test.patch'
=== removed directory '.pc/fix-mysqldump-test.patch/mysql-test'
=== removed directory '.pc/fix-mysqldump-test.patch/mysql-test/r'
=== removed file '.pc/fix-mysqldump-test.patch/mysql-test/r/mysqldump.result'
--- .pc/fix-mysqldump-test.patch/mysql-test/r/mysqldump.result	2012-03-29 17:31:30 +0000
+++ .pc/fix-mysqldump-test.patch/mysql-test/r/mysqldump.result	1970-01-01 00:00:00 +0000
@@ -1,5207 +0,0 @@
-# Bug#37938 Test "mysqldump" lacks various insert statements
-# Turn off concurrent inserts to avoid random errors
-# NOTE:  We reset the variable back to saved value at the end of test
-SET @OLD_CONCURRENT_INSERT = @@GLOBAL.CONCURRENT_INSERT;
-SET @@GLOBAL.CONCURRENT_INSERT = 0;
-DROP TABLE IF EXISTS t1, `"t"1`, t1aa, t2, t2aa, t3;
-drop database if exists mysqldump_test_db;
-drop database if exists db1;
-drop database if exists db2;
-drop view if exists v1, v2, v3;
-CREATE TABLE t1(a INT, KEY (a)) KEY_BLOCK_SIZE=1024;
-INSERT INTO t1 VALUES (1), (2);
-<?xml version="1.0"?>
-<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-<database name="test">
-	<table_structure name="t1">
-		<field Field="a" Type="int(11)" Null="YES" Key="MUL" Extra="" Comment="" />
-		<key Table="t1" Non_unique="1" Key_name="a" Seq_in_index="1" Column_name="a" Collation="A" Null="YES" Index_type="BTREE" Comment="" Index_comment="" />
-	</table_structure>
-	<table_data name="t1">
-	<row>
-		<field name="a">1</field>
-	</row>
-	<row>
-		<field name="a">2</field>
-	</row>
-	</table_data>
-</database>
-</mysqldump>
-DROP TABLE t1;
-#
-# Bug#2005 Long decimal comparison bug.
-#
-CREATE TABLE t1 (a decimal(64, 20));
-INSERT INTO t1 VALUES ("1234567890123456789012345678901234567890"),
-("0987654321098765432109876543210987654321");
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` decimal(64,20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-INSERT INTO `t1` VALUES (1234567890123456789012345678901234567890.00000000000000000000),(987654321098765432109876543210987654321.00000000000000000000);
-DROP TABLE t1;
-#
-# Bug#2055 mysqldump should replace "-inf" numeric field values with "NULL"
-#
-CREATE TABLE t1 (a double);
-INSERT INTO t1 VALUES ('-9e999999');
-Warnings:
-Warning	1264	Out of range value for column 'a' at row 1
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` double DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-INSERT INTO `t1` VALUES (-1.7976931348623157e308);
-DROP TABLE t1;
-#
-# Bug#3361 mysqldump quotes DECIMAL values inconsistently
-#
-CREATE TABLE t1 (a DECIMAL(10,5), b FLOAT);
-INSERT INTO t1 VALUES (1.2345, 2.3456);
-INSERT INTO t1 VALUES ('1.2345', 2.3456);
-INSERT INTO t1 VALUES ("1.2345", 2.3456);
-SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ANSI_QUOTES';
-INSERT INTO t1 VALUES (1.2345, 2.3456);
-INSERT INTO t1 VALUES ('1.2345', 2.3456);
-INSERT INTO t1 VALUES ("1.2345", 2.3456);
-ERROR 42S22: Unknown column '1.2345' in 'field list'
-SET SQL_MODE=@OLD_SQL_MODE;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` decimal(10,5) DEFAULT NULL,
-  `b` float DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-INSERT INTO `t1` VALUES (1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456);
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` decimal(10,5) DEFAULT NULL,
-  `b` float DEFAULT NULL
-);
-/*!40101 SET character_set_client = @saved_cs_client */;
-INSERT INTO `t1` VALUES (1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456);
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` decimal(10,5) DEFAULT NULL,
-  `b` float DEFAULT NULL
-);
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES (1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456);
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` decimal(10,5) DEFAULT NULL,
-  `b` float DEFAULT NULL
-);
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-INSERT INTO `t1` VALUES (1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456);
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-DROP TABLE t1;
-CREATE TABLE t1(a int, b text, c varchar(3));
-INSERT INTO t1 VALUES (1, "test", "tes"), (2, "TEST", "TES");
-<?xml version="1.0"?>
-<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-<database name="test">
-	<table_structure name="t1">
-		<field Field="a" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
-		<field Field="b" Type="text" Null="YES" Key="" Extra="" Comment="" />
-		<field Field="c" Type="varchar(3)" Null="YES" Key="" Extra="" Comment="" />
-	</table_structure>
-	<table_data name="t1">
-	<row>
-		<field name="a">1</field>
-		<field name="b">test</field>
-		<field name="c">tes</field>
-	</row>
-	<row>
-		<field name="a">2</field>
-		<field name="b">TEST</field>
-		<field name="c">TES</field>
-	</row>
-	</table_data>
-</database>
-</mysqldump>
-DROP TABLE t1;
-#
-# Bug#1707 mysqldump -X does't quote field and table names
-#
-CREATE TABLE t1 (`a"b"` char(2));
-INSERT INTO t1 VALUES ("1\""), ("\"2");
-<?xml version="1.0"?>
-<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-<database name="test">
-	<table_structure name="t1">
-		<field Field="a&quot;b&quot;" Type="char(2)" Null="YES" Key="" Extra="" Comment="" />
-	</table_structure>
-	<table_data name="t1">
-	<row>
-		<field name="a&quot;b&quot;">1&quot;</field>
-	</row>
-	<row>
-		<field name="a&quot;b&quot;">&quot;2</field>
-	</row>
-	</table_data>
-</database>
-</mysqldump>
-DROP TABLE t1;
-#
-# Bug#1994 mysqldump does not correctly dump UCS2 data
-# Bug#4261 mysqldump 10.7 (mysql 4.1.2) --skip-extended-insert drops NULL from inserts
-#
-CREATE TABLE t1 (a  VARCHAR(255)) DEFAULT CHARSET koi8r;
-INSERT INTO t1  VALUES (_koi8r x'C1C2C3C4C5'), (NULL);
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` varchar(255) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=koi8r;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES ('абцде');
-INSERT INTO `t1` VALUES (NULL);
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-DROP TABLE t1;
-#
-# Bug#2634 mysqldump in --compatible=mysql4
-#
-CREATE TABLE t1 (a int) ENGINE=MYISAM;
-INSERT INTO t1 VALUES (1), (2);
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,MYSQL40' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL
-) TYPE=MyISAM;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES (1),(2);
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,MYSQL323' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL
-) TYPE=MyISAM;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES (1),(2);
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-DROP TABLE t1;
-#
-# Bug#2592 mysqldump doesn't quote "tricky" names correctly
-#
-create table ```a` (i int);
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE ```a` (
-  `i` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-drop table ```a`;
-#
-# Bug#2591 mysqldump quotes names inconsistently
-#
-create table t1(a int);
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,ANSI' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS "t1";
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE "t1" (
-  "a" int(11) DEFAULT NULL
-);
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES "t1" WRITE;
-/*!40000 ALTER TABLE "t1" DISABLE KEYS */;
-/*!40000 ALTER TABLE "t1" ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-set global sql_mode='ANSI_QUOTES';
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,ANSI' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS "t1";
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE "t1" (
-  "a" int(11) DEFAULT NULL
-);
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES "t1" WRITE;
-/*!40000 ALTER TABLE "t1" DISABLE KEYS */;
-/*!40000 ALTER TABLE "t1" ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-set global sql_mode='';
-drop table t1;
-#
-# Bug#2705 mysqldump --tab extra output
-#
-create table t1(a int);
-insert into t1 values (1),(2),(3);
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-1
-2
-3
-drop table t1;
-#
-# Bug#6101 create database problem
-#
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-
-CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET latin1 */;
-
-USE `test`;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-create database mysqldump_test_db character set latin2 collate latin2_bin;
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-
-CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqldump_test_db` /*!40100 DEFAULT CHARACTER SET latin2 COLLATE latin2_bin */;
-
-USE `mysqldump_test_db`;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-drop database mysqldump_test_db;
-#
-# Bug#7020 mysqldump --compatible=mysql40 should set --skip-set-charset --default-char...
-# Check that we don't dump in UTF8 in compatible mode by default,
-# but use the default compiled values, or the values given in
-# --default-character-set=xxx. However, we should dump in UTF8
-# if it is explicitely set.
-CREATE TABLE t1 (a  CHAR(10));
-INSERT INTO t1  VALUES (_latin1 '');
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` char(10) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES ('ÄÖÜß');
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-#
-# Bug#8063 make test mysqldump [ fail ]
-# We cannot test this command because its output depends
-# on --default-character-set incompiled into "mysqldump" program.
-# If the future we can move this command into a separate test with
-# checking that "mysqldump" is compiled with "latin1"
-#
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,MYSQL323' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-CREATE TABLE `t1` (
-  `a` char(10) DEFAULT NULL
-) TYPE=MyISAM;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES ('');
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,MYSQL323' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-CREATE TABLE `t1` (
-  `a` char(10) DEFAULT NULL
-) TYPE=MyISAM;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES ('');
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,MYSQL323' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-CREATE TABLE `t1` (
-  `a` char(10) DEFAULT NULL
-) TYPE=MyISAM;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES ('ÄÖÜß');
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-DROP TABLE t1;
-#
-# WL#2319 Exclude Tables from dump
-#
-CREATE TABLE t1 (a int);
-CREATE TABLE t2 (a int);
-INSERT INTO t1 VALUES (1),(2),(3);
-INSERT INTO t2 VALUES (4),(5),(6);
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t2`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t2` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t2` WRITE;
-/*!40000 ALTER TABLE `t2` DISABLE KEYS */;
-INSERT INTO `t2` VALUES (4),(5),(6);
-/*!40000 ALTER TABLE `t2` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-DROP TABLE t1;
-DROP TABLE t2;
-#
-# Bug#8830 mysqldump --skip-extended-insert causes --hex-blob to dump wrong values
-#
-CREATE TABLE t1 (`b` blob);
-INSERT INTO `t1` VALUES (0x602010000280100005E71A);
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `b` blob
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES (0x602010000280100005E71A);
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-DROP TABLE t1;
-#
-# Test for --insert-ignore
-#
-CREATE TABLE t1 (a INT);
-INSERT INTO t1 VALUES (1),(2),(3);
-INSERT INTO t1 VALUES (4),(5),(6);
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT  IGNORE INTO `t1` VALUES (1),(2),(3),(4),(5),(6);
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT  DELAYED IGNORE INTO `t1` VALUES (1),(2),(3),(4),(5),(6);
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-DROP TABLE t1;
-#
-# Bug#10286 mysqldump -c crashes on table that has many fields with long
-#           names
-#
-create table t1 (
-F_c4ca4238a0b923820dcc509a6f75849b int,
-F_c81e728d9d4c2f636f067f89cc14862c int,
-F_eccbc87e4b5ce2fe28308fd9f2a7baf3 int,
-F_a87ff679a2f3e71d9181a67b7542122c int,
-F_e4da3b7fbbce2345d7772b0674a318d5 int,
-F_1679091c5a880faf6fb5e6087eb1b2dc int,
-F_8f14e45fceea167a5a36dedd4bea2543 int,
-F_c9f0f895fb98ab9159f51fd0297e236d int,
-F_45c48cce2e2d7fbdea1afc51c7c6ad26 int,
-F_d3d9446802a44259755d38e6d163e820 int,
-F_6512bd43d9caa6e02c990b0a82652dca int,
-F_c20ad4d76fe97759aa27a0c99bff6710 int,
-F_c51ce410c124a10e0db5e4b97fc2af39 int,
-F_aab3238922bcc25a6f606eb525ffdc56 int,
-F_9bf31c7ff062936a96d3c8bd1f8f2ff3 int,
-F_c74d97b01eae257e44aa9d5bade97baf int,
-F_70efdf2ec9b086079795c442636b55fb int,
-F_6f4922f45568161a8cdf4ad2299f6d23 int,
-F_1f0e3dad99908345f7439f8ffabdffc4 int,
-F_98f13708210194c475687be6106a3b84 int,
-F_3c59dc048e8850243be8079a5c74d079 int,
-F_b6d767d2f8ed5d21a44b0e5886680cb9 int,
-F_37693cfc748049e45d87b8c7d8b9aacd int,
-F_1ff1de774005f8da13f42943881c655f int,
-F_8e296a067a37563370ded05f5a3bf3ec int,
-F_4e732ced3463d06de0ca9a15b6153677 int,
-F_02e74f10e0327ad868d138f2b4fdd6f0 int,
-F_33e75ff09dd601bbe69f351039152189 int,
-F_6ea9ab1baa0efb9e19094440c317e21b int,
-F_34173cb38f07f89ddbebc2ac9128303f int,
-F_c16a5320fa475530d9583c34fd356ef5 int,
-F_6364d3f0f495b6ab9dcf8d3b5c6e0b01 int,
-F_182be0c5cdcd5072bb1864cdee4d3d6e int,
-F_e369853df766fa44e1ed0ff613f563bd int,
-F_1c383cd30b7c298ab50293adfecb7b18 int,
-F_19ca14e7ea6328a42e0eb13d585e4c22 int,
-F_a5bfc9e07964f8dddeb95fc584cd965d int,
-F_a5771bce93e200c36f7cd9dfd0e5deaa int,
-F_d67d8ab4f4c10bf22aa353e27879133c int,
-F_d645920e395fedad7bbbed0eca3fe2e0 int,
-F_3416a75f4cea9109507cacd8e2f2aefc int,
-F_a1d0c6e83f027327d8461063f4ac58a6 int,
-F_17e62166fc8586dfa4d1bc0e1742c08b int,
-F_f7177163c833dff4b38fc8d2872f1ec6 int,
-F_6c8349cc7260ae62e3b1396831a8398f int,
-F_d9d4f495e875a2e075a1a4a6e1b9770f int,
-F_67c6a1e7ce56d3d6fa748ab6d9af3fd7 int,
-F_642e92efb79421734881b53e1e1b18b6 int,
-F_f457c545a9ded88f18ecee47145a72c0 int,
-F_c0c7c76d30bd3dcaefc96f40275bdc0a int,
-F_2838023a778dfaecdc212708f721b788 int,
-F_9a1158154dfa42caddbd0694a4e9bdc8 int,
-F_d82c8d1619ad8176d665453cfb2e55f0 int,
-F_a684eceee76fc522773286a895bc8436 int,
-F_b53b3a3d6ab90ce0268229151c9bde11 int,
-F_9f61408e3afb633e50cdf1b20de6f466 int,
-F_72b32a1f754ba1c09b3695e0cb6cde7f int,
-F_66f041e16a60928b05a7e228a89c3799 int,
-F_093f65e080a295f8076b1c5722a46aa2 int,
-F_072b030ba126b2f4b2374f342be9ed44 int,
-F_7f39f8317fbdb1988ef4c628eba02591 int,
-F_44f683a84163b3523afe57c2e008bc8c int,
-F_03afdbd66e7929b125f8597834fa83a4 int,
-F_ea5d2f1c4608232e07d3aa3d998e5135 int,
-F_fc490ca45c00b1249bbe3554a4fdf6fb int,
-F_3295c76acbf4caaed33c36b1b5fc2cb1 int,
-F_735b90b4568125ed6c3f678819b6e058 int,
-F_a3f390d88e4c41f2747bfa2f1b5f87db int,
-F_14bfa6bb14875e45bba028a21ed38046 int,
-F_7cbbc409ec990f19c78c75bd1e06f215 int,
-F_e2c420d928d4bf8ce0ff2ec19b371514 int,
-F_32bb90e8976aab5298d5da10fe66f21d int,
-F_d2ddea18f00665ce8623e36bd4e3c7c5 int,
-F_ad61ab143223efbc24c7d2583be69251 int,
-F_d09bf41544a3365a46c9077ebb5e35c3 int,
-F_fbd7939d674997cdb4692d34de8633c4 int,
-F_28dd2c7955ce926456240b2ff0100bde int,
-F_35f4a8d465e6e1edc05f3d8ab658c551 int,
-F_d1fe173d08e959397adf34b1d77e88d7 int,
-F_f033ab37c30201f73f142449d037028d int,
-F_43ec517d68b6edd3015b3edc9a11367b int,
-F_9778d5d219c5080b9a6a17bef029331c int,
-F_fe9fc289c3ff0af142b6d3bead98a923 int,
-F_68d30a9594728bc39aa24be94b319d21 int,
-F_3ef815416f775098fe977004015c6193 int,
-F_93db85ed909c13838ff95ccfa94cebd9 int,
-F_c7e1249ffc03eb9ded908c236bd1996d int,
-F_2a38a4a9316c49e5a833517c45d31070 int,
-F_7647966b7343c29048673252e490f736 int,
-F_8613985ec49eb8f757ae6439e879bb2a int,
-F_54229abfcfa5649e7003b83dd4755294 int,
-F_92cc227532d17e56e07902b254dfad10 int,
-F_98dce83da57b0395e163467c9dae521b int,
-F_f4b9ec30ad9f68f89b29639786cb62ef int,
-F_812b4ba287f5ee0bc9d43bbf5bbe87fb int,
-F_26657d5ff9020d2abefe558796b99584 int,
-F_e2ef524fbf3d9fe611d5a8e90fefdc9c int,
-F_ed3d2c21991e3bef5e069713af9fa6ca int,
-F_ac627ab1ccbdb62ec96e702f07f6425b int,
-F_f899139df5e1059396431415e770c6dd int,
-F_38b3eff8baf56627478ec76a704e9b52 int,
-F_ec8956637a99787bd197eacd77acce5e int,
-F_6974ce5ac660610b44d9b9fed0ff9548 int,
-F_c9e1074f5b3f9fc8ea15d152add07294 int,
-F_65b9eea6e1cc6bb9f0cd2a47751a186f int,
-F_f0935e4cd5920aa6c7c996a5ee53a70f int,
-F_a97da629b098b75c294dffdc3e463904 int,
-F_a3c65c2974270fd093ee8a9bf8ae7d0b int,
-F_2723d092b63885e0d7c260cc007e8b9d int,
-F_5f93f983524def3dca464469d2cf9f3e int,
-F_698d51a19d8a121ce581499d7b701668 int,
-F_7f6ffaa6bb0b408017b62254211691b5 int,
-F_73278a4a86960eeb576a8fd4c9ec6997 int,
-F_5fd0b37cd7dbbb00f97ba6ce92bf5add int,
-F_2b44928ae11fb9384c4cf38708677c48 int,
-F_c45147dee729311ef5b5c3003946c48f int,
-F_eb160de1de89d9058fcb0b968dbbbd68 int,
-F_5ef059938ba799aaa845e1c2e8a762bd int,
-F_07e1cd7dca89a1678042477183b7ac3f int,
-F_da4fb5c6e93e74d3df8527599fa62642 int,
-F_4c56ff4ce4aaf9573aa5dff913df997a int,
-F_a0a080f42e6f13b3a2df133f073095dd int,
-F_202cb962ac59075b964b07152d234b70 int,
-F_c8ffe9a587b126f152ed3d89a146b445 int,
-F_3def184ad8f4755ff269862ea77393dd int,
-F_069059b7ef840f0c74a814ec9237b6ec int,
-F_ec5decca5ed3d6b8079e2e7e7bacc9f2 int,
-F_76dc611d6ebaafc66cc0879c71b5db5c int,
-F_d1f491a404d6854880943e5c3cd9ca25 int,
-F_9b8619251a19057cff70779273e95aa6 int,
-F_1afa34a7f984eeabdbb0a7d494132ee5 int,
-F_65ded5353c5ee48d0b7d48c591b8f430 int,
-F_9fc3d7152ba9336a670e36d0ed79bc43 int,
-F_02522a2b2726fb0a03bb19f2d8d9524d int,
-F_7f1de29e6da19d22b51c68001e7e0e54 int,
-F_42a0e188f5033bc65bf8d78622277c4e int,
-F_3988c7f88ebcb58c6ce932b957b6f332 int,
-F_013d407166ec4fa56eb1e1f8cbe183b9 int,
-F_e00da03b685a0dd18fb6a08af0923de0 int,
-F_1385974ed5904a438616ff7bdb3f7439 int,
-F_0f28b5d49b3020afeecd95b4009adf4c int,
-F_a8baa56554f96369ab93e4f3bb068c22 int,
-F_903ce9225fca3e988c2af215d4e544d3 int,
-F_0a09c8844ba8f0936c20bd791130d6b6 int,
-F_2b24d495052a8ce66358eb576b8912c8 int,
-F_a5e00132373a7031000fd987a3c9f87b int,
-F_8d5e957f297893487bd98fa830fa6413 int,
-F_47d1e990583c9c67424d369f3414728e int,
-F_f2217062e9a397a1dca429e7d70bc6ca int,
-F_7ef605fc8dba5425d6965fbd4c8fbe1f int,
-F_a8f15eda80c50adb0e71943adc8015cf int,
-F_37a749d808e46495a8da1e5352d03cae int,
-F_b3e3e393c77e35a4a3f3cbd1e429b5dc int,
-F_1d7f7abc18fcb43975065399b0d1e48e int,
-F_2a79ea27c279e471f4d180b08d62b00a int,
-F_1c9ac0159c94d8d0cbedc973445af2da int,
-F_6c4b761a28b734fe93831e3fb400ce87 int,
-F_06409663226af2f3114485aa4e0a23b4 int,
-F_140f6969d5213fd0ece03148e62e461e int,
-F_b73ce398c39f506af761d2277d853a92 int,
-F_bd4c9ab730f5513206b999ec0d90d1fb int,
-F_82aa4b0af34c2313a562076992e50aa3 int,
-F_0777d5c17d4066b82ab86dff8a46af6f int,
-F_fa7cdfad1a5aaf8370ebeda47a1ff1c3 int,
-F_9766527f2b5d3e95d4a733fcfb77bd7e int,
-F_7e7757b1e12abcb736ab9a754ffb617a int,
-F_5878a7ab84fb43402106c575658472fa int,
-F_006f52e9102a8d3be2fe5614f42ba989 int,
-F_3636638817772e42b59d74cff571fbb3 int,
-F_149e9677a5989fd342ae44213df68868 int,
-F_a4a042cf4fd6bfb47701cbc8a1653ada int,
-F_1ff8a7b5dc7a7d1f0ed65aaa29c04b1e int,
-F_f7e6c85504ce6e82442c770f7c8606f0 int,
-F_bf8229696f7a3bb4700cfddef19fa23f int,
-F_82161242827b703e6acf9c726942a1e4 int,
-F_38af86134b65d0f10fe33d30dd76442e int,
-F_96da2f590cd7246bbde0051047b0d6f7 int,
-F_8f85517967795eeef66c225f7883bdcb int,
-F_8f53295a73878494e9bc8dd6c3c7104f int,
-F_045117b0e0a11a242b9765e79cbf113f int,
-F_fc221309746013ac554571fbd180e1c8 int,
-F_4c5bde74a8f110656874902f07378009 int,
-F_cedebb6e872f539bef8c3f919874e9d7 int,
-F_6cdd60ea0045eb7a6ec44c54d29ed402 int,
-F_eecca5b6365d9607ee5a9d336962c534 int,
-F_9872ed9fc22fc182d371c3e9ed316094 int,
-F_31fefc0e570cb3860f2a6d4b38c6490d int,
-F_9dcb88e0137649590b755372b040afad int,
-F_a2557a7b2e94197ff767970b67041697 int,
-F_cfecdb276f634854f3ef915e2e980c31 int,
-F_0aa1883c6411f7873cb83dacb17b0afc int,
-F_58a2fc6ed39fd083f55d4182bf88826d int,
-F_bd686fd640be98efaae0091fa301e613 int,
-F_a597e50502f5ff68e3e25b9114205d4a int,
-F_0336dcbab05b9d5ad24f4333c7658a0e int,
-F_084b6fbb10729ed4da8c3d3f5a3ae7c9 int,
-F_85d8ce590ad8981ca2c8286f79f59954 int,
-F_0e65972dce68dad4d52d063967f0a705 int,
-F_84d9ee44e457ddef7f2c4f25dc8fa865 int,
-F_3644a684f98ea8fe223c713b77189a77 int,
-F_757b505cfd34c64c85ca5b5690ee5293 int,
-F_854d6fae5ee42911677c739ee1734486 int,
-F_e2c0be24560d78c5e599c2a9c9d0bbd2 int,
-F_274ad4786c3abca69fa097b85867d9a4 int,
-F_eae27d77ca20db309e056e3d2dcd7d69 int,
-F_7eabe3a1649ffa2b3ff8c02ebfd5659f int,
-F_69adc1e107f7f7d035d7baf04342e1ca int,
-F_091d584fced301b442654dd8c23b3fc9 int,
-F_b1d10e7bafa4421218a51b1e1f1b0ba2 int,
-F_6f3ef77ac0e3619e98159e9b6febf557 int,
-F_eb163727917cbba1eea208541a643e74 int,
-F_1534b76d325a8f591b52d302e7181331 int,
-F_979d472a84804b9f647bc185a877a8b5 int,
-F_ca46c1b9512a7a8315fa3c5a946e8265 int,
-F_3b8a614226a953a8cd9526fca6fe9ba5 int,
-F_45fbc6d3e05ebd93369ce542e8f2322d int,
-F_63dc7ed1010d3c3b8269faf0ba7491d4 int,
-F_e96ed478dab8595a7dbda4cbcbee168f int,
-F_c0e190d8267e36708f955d7ab048990d int,
-F_ec8ce6abb3e952a85b8551ba726a1227 int,
-F_060ad92489947d410d897474079c1477 int,
-F_bcbe3365e6ac95ea2c0343a2395834dd int,
-F_115f89503138416a242f40fb7d7f338e int,
-F_13fe9d84310e77f13a6d184dbf1232f3 int,
-F_d1c38a09acc34845c6be3a127a5aacaf int,
-F_9cfdf10e8fc047a44b08ed031e1f0ed1 int,
-F_705f2172834666788607efbfca35afb3 int,
-F_74db120f0a8e5646ef5a30154e9f6deb int,
-F_57aeee35c98205091e18d1140e9f38cf int,
-F_6da9003b743b65f4c0ccd295cc484e57 int,
-F_9b04d152845ec0a378394003c96da594 int,
-F_be83ab3ecd0db773eb2dc1b0a17836a1 int,
-F_e165421110ba03099a1c0393373c5b43 int,
-F_289dff07669d7a23de0ef88d2f7129e7 int,
-F_577ef1154f3240ad5b9b413aa7346a1e int,
-F_01161aaa0b6d1345dd8fe4e481144d84 int,
-F_539fd53b59e3bb12d203f45a912eeaf2 int,
-F_ac1dd209cbcc5e5d1c6e28598e8cbbe8 int,
-F_555d6702c950ecb729a966504af0a635 int,
-F_335f5352088d7d9bf74191e006d8e24c int,
-F_f340f1b1f65b6df5b5e3f94d95b11daf int,
-F_e4a6222cdb5b34375400904f03d8e6a5 int,
-F_cb70ab375662576bd1ac5aaf16b3fca4 int,
-F_9188905e74c28e489b44e954ec0b9bca int,
-F_0266e33d3f546cb5436a10798e657d97 int,
-F_38db3aed920cf82ab059bfccbd02be6a int,
-F_3cec07e9ba5f5bb252d13f5f431e4bbb int,
-F_621bf66ddb7c962aa0d22ac97d69b793 int,
-F_077e29b11be80ab57e1a2ecabb7da330 int,
-F_6c9882bbac1c7093bd25041881277658 int,
-F_19f3cd308f1455b3fa09a282e0d496f4 int,
-F_03c6b06952c750899bb03d998e631860 int,
-F_c24cd76e1ce41366a4bbe8a49b02a028 int,
-F_c52f1bd66cc19d05628bd8bf27af3ad6 int,
-F_fe131d7f5a6b38b23cc967316c13dae2 int,
-F_f718499c1c8cef6730f9fd03c8125cab int,
-F_d96409bf894217686ba124d7356686c9 int,
-F_502e4a16930e414107ee22b6198c578f int,
-F_cfa0860e83a4c3a763a7e62d825349f7 int,
-F_a4f23670e1833f3fdb077ca70bbd5d66 int,
-F_b1a59b315fc9a3002ce38bbe070ec3f5 int,
-F_36660e59856b4de58a219bcf4e27eba3 int,
-F_8c19f571e251e61cb8dd3612f26d5ecf int,
-F_d6baf65e0b240ce177cf70da146c8dc8 int,
-F_e56954b4f6347e897f954495eab16a88 int,
-F_f7664060cc52bc6f3d620bcedc94a4b6 int,
-F_eda80a3d5b344bc40f3bc04f65b7a357 int,
-F_8f121ce07d74717e0b1f21d122e04521 int,
-F_06138bc5af6023646ede0e1f7c1eac75 int,
-F_39059724f73a9969845dfe4146c5660e int,
-F_7f100b7b36092fb9b06dfb4fac360931 int,
-F_7a614fd06c325499f1680b9896beedeb int,
-F_4734ba6f3de83d861c3176a6273cac6d int,
-F_d947bf06a885db0d477d707121934ff8 int,
-F_63923f49e5241343aa7acb6a06a751e7 int,
-F_db8e1af0cb3aca1ae2d0018624204529 int,
-F_20f07591c6fcb220ffe637cda29bb3f6 int,
-F_07cdfd23373b17c6b337251c22b7ea57 int,
-F_d395771085aab05244a4fb8fd91bf4ee int,
-F_92c8c96e4c37100777c7190b76d28233 int,
-F_e3796ae838835da0b6f6ea37bcf8bcb7 int,
-F_6a9aeddfc689c1d0e3b9ccc3ab651bc5 int,
-F_0f49c89d1e7298bb9930789c8ed59d48 int,
-F_46ba9f2a6976570b0353203ec4474217 int,
-F_0e01938fc48a2cfb5f2217fbfb00722d int,
-F_16a5cdae362b8d27a1d8f8c7b78b4330 int,
-F_918317b57931b6b7a7d29490fe5ec9f9 int,
-F_48aedb8880cab8c45637abc7493ecddd int,
-F_839ab46820b524afda05122893c2fe8e int,
-F_f90f2aca5c640289d0a29417bcb63a37 int,
-F_9c838d2e45b2ad1094d42f4ef36764f6 int,
-F_1700002963a49da13542e0726b7bb758 int,
-F_53c3bce66e43be4f209556518c2fcb54 int,
-F_6883966fd8f918a4aa29be29d2c386fb int,
-F_49182f81e6a13cf5eaa496d51fea6406 int,
-F_d296c101daa88a51f6ca8cfc1ac79b50 int,
-F_9fd81843ad7f202f26c1a174c7357585 int,
-F_26e359e83860db1d11b6acca57d8ea88 int,
-F_ef0d3930a7b6c95bd2b32ed45989c61f int,
-F_94f6d7e04a4d452035300f18b984988c int,
-F_34ed066df378efacc9b924ec161e7639 int,
-F_577bcc914f9e55d5e4e4f82f9f00e7d4 int,
-F_11b9842e0a271ff252c1903e7132cd68 int,
-F_37bc2f75bf1bcfe8450a1a41c200364c int,
-F_496e05e1aea0a9c4655800e8a7b9ea28 int,
-F_b2eb7349035754953b57a32e2841bda5 int,
-F_8e98d81f8217304975ccb23337bb5761 int,
-F_a8c88a0055f636e4a163a5e3d16adab7 int,
-F_eddea82ad2755b24c4e168c5fc2ebd40 int,
-F_06eb61b839a0cefee4967c67ccb099dc int,
-F_9dfcd5e558dfa04aaf37f137a1d9d3e5 int,
-F_950a4152c2b4aa3ad78bdd6b366cc179 int,
-F_158f3069a435b314a80bdcb024f8e422 int,
-F_758874998f5bd0c393da094e1967a72b int,
-F_ad13a2a07ca4b7642959dc0c4c740ab6 int,
-F_3fe94a002317b5f9259f82690aeea4cd int,
-F_5b8add2a5d98b1a652ea7fd72d942dac int,
-F_432aca3a1e345e339f35a30c8f65edce int,
-F_8d3bba7425e7c98c50f52ca1b52d3735 int,
-F_320722549d1751cf3f247855f937b982 int,
-F_caf1a3dfb505ffed0d024130f58c5cfa int,
-F_5737c6ec2e0716f3d8a7a5c4e0de0d9a int,
-F_bc6dc48b743dc5d013b1abaebd2faed2 int,
-F_f2fc990265c712c49d51a18a32b39f0c int,
-F_89f0fd5c927d466d6ec9a21b9ac34ffa int,
-F_a666587afda6e89aec274a3657558a27 int,
-F_b83aac23b9528732c23cc7352950e880 int,
-F_cd00692c3bfe59267d5ecfac5310286c int,
-F_6faa8040da20ef399b63a72d0e4ab575 int,
-F_fe73f687e5bc5280214e0486b273a5f9 int);
-insert into t1 (F_8d3bba7425e7c98c50f52ca1b52d3735) values (1);
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `F_c4ca4238a0b923820dcc509a6f75849b` int(11) DEFAULT NULL,
-  `F_c81e728d9d4c2f636f067f89cc14862c` int(11) DEFAULT NULL,
-  `F_eccbc87e4b5ce2fe28308fd9f2a7baf3` int(11) DEFAULT NULL,
-  `F_a87ff679a2f3e71d9181a67b7542122c` int(11) DEFAULT NULL,
-  `F_e4da3b7fbbce2345d7772b0674a318d5` int(11) DEFAULT NULL,
-  `F_1679091c5a880faf6fb5e6087eb1b2dc` int(11) DEFAULT NULL,
-  `F_8f14e45fceea167a5a36dedd4bea2543` int(11) DEFAULT NULL,
-  `F_c9f0f895fb98ab9159f51fd0297e236d` int(11) DEFAULT NULL,
-  `F_45c48cce2e2d7fbdea1afc51c7c6ad26` int(11) DEFAULT NULL,
-  `F_d3d9446802a44259755d38e6d163e820` int(11) DEFAULT NULL,
-  `F_6512bd43d9caa6e02c990b0a82652dca` int(11) DEFAULT NULL,
-  `F_c20ad4d76fe97759aa27a0c99bff6710` int(11) DEFAULT NULL,
-  `F_c51ce410c124a10e0db5e4b97fc2af39` int(11) DEFAULT NULL,
-  `F_aab3238922bcc25a6f606eb525ffdc56` int(11) DEFAULT NULL,
-  `F_9bf31c7ff062936a96d3c8bd1f8f2ff3` int(11) DEFAULT NULL,
-  `F_c74d97b01eae257e44aa9d5bade97baf` int(11) DEFAULT NULL,
-  `F_70efdf2ec9b086079795c442636b55fb` int(11) DEFAULT NULL,
-  `F_6f4922f45568161a8cdf4ad2299f6d23` int(11) DEFAULT NULL,
-  `F_1f0e3dad99908345f7439f8ffabdffc4` int(11) DEFAULT NULL,
-  `F_98f13708210194c475687be6106a3b84` int(11) DEFAULT NULL,
-  `F_3c59dc048e8850243be8079a5c74d079` int(11) DEFAULT NULL,
-  `F_b6d767d2f8ed5d21a44b0e5886680cb9` int(11) DEFAULT NULL,
-  `F_37693cfc748049e45d87b8c7d8b9aacd` int(11) DEFAULT NULL,
-  `F_1ff1de774005f8da13f42943881c655f` int(11) DEFAULT NULL,
-  `F_8e296a067a37563370ded05f5a3bf3ec` int(11) DEFAULT NULL,
-  `F_4e732ced3463d06de0ca9a15b6153677` int(11) DEFAULT NULL,
-  `F_02e74f10e0327ad868d138f2b4fdd6f0` int(11) DEFAULT NULL,
-  `F_33e75ff09dd601bbe69f351039152189` int(11) DEFAULT NULL,
-  `F_6ea9ab1baa0efb9e19094440c317e21b` int(11) DEFAULT NULL,
-  `F_34173cb38f07f89ddbebc2ac9128303f` int(11) DEFAULT NULL,
-  `F_c16a5320fa475530d9583c34fd356ef5` int(11) DEFAULT NULL,
-  `F_6364d3f0f495b6ab9dcf8d3b5c6e0b01` int(11) DEFAULT NULL,
-  `F_182be0c5cdcd5072bb1864cdee4d3d6e` int(11) DEFAULT NULL,
-  `F_e369853df766fa44e1ed0ff613f563bd` int(11) DEFAULT NULL,
-  `F_1c383cd30b7c298ab50293adfecb7b18` int(11) DEFAULT NULL,
-  `F_19ca14e7ea6328a42e0eb13d585e4c22` int(11) DEFAULT NULL,
-  `F_a5bfc9e07964f8dddeb95fc584cd965d` int(11) DEFAULT NULL,
-  `F_a5771bce93e200c36f7cd9dfd0e5deaa` int(11) DEFAULT NULL,
-  `F_d67d8ab4f4c10bf22aa353e27879133c` int(11) DEFAULT NULL,
-  `F_d645920e395fedad7bbbed0eca3fe2e0` int(11) DEFAULT NULL,
-  `F_3416a75f4cea9109507cacd8e2f2aefc` int(11) DEFAULT NULL,
-  `F_a1d0c6e83f027327d8461063f4ac58a6` int(11) DEFAULT NULL,
-  `F_17e62166fc8586dfa4d1bc0e1742c08b` int(11) DEFAULT NULL,
-  `F_f7177163c833dff4b38fc8d2872f1ec6` int(11) DEFAULT NULL,
-  `F_6c8349cc7260ae62e3b1396831a8398f` int(11) DEFAULT NULL,
-  `F_d9d4f495e875a2e075a1a4a6e1b9770f` int(11) DEFAULT NULL,
-  `F_67c6a1e7ce56d3d6fa748ab6d9af3fd7` int(11) DEFAULT NULL,
-  `F_642e92efb79421734881b53e1e1b18b6` int(11) DEFAULT NULL,
-  `F_f457c545a9ded88f18ecee47145a72c0` int(11) DEFAULT NULL,
-  `F_c0c7c76d30bd3dcaefc96f40275bdc0a` int(11) DEFAULT NULL,
-  `F_2838023a778dfaecdc212708f721b788` int(11) DEFAULT NULL,
-  `F_9a1158154dfa42caddbd0694a4e9bdc8` int(11) DEFAULT NULL,
-  `F_d82c8d1619ad8176d665453cfb2e55f0` int(11) DEFAULT NULL,
-  `F_a684eceee76fc522773286a895bc8436` int(11) DEFAULT NULL,
-  `F_b53b3a3d6ab90ce0268229151c9bde11` int(11) DEFAULT NULL,
-  `F_9f61408e3afb633e50cdf1b20de6f466` int(11) DEFAULT NULL,
-  `F_72b32a1f754ba1c09b3695e0cb6cde7f` int(11) DEFAULT NULL,
-  `F_66f041e16a60928b05a7e228a89c3799` int(11) DEFAULT NULL,
-  `F_093f65e080a295f8076b1c5722a46aa2` int(11) DEFAULT NULL,
-  `F_072b030ba126b2f4b2374f342be9ed44` int(11) DEFAULT NULL,
-  `F_7f39f8317fbdb1988ef4c628eba02591` int(11) DEFAULT NULL,
-  `F_44f683a84163b3523afe57c2e008bc8c` int(11) DEFAULT NULL,
-  `F_03afdbd66e7929b125f8597834fa83a4` int(11) DEFAULT NULL,
-  `F_ea5d2f1c4608232e07d3aa3d998e5135` int(11) DEFAULT NULL,
-  `F_fc490ca45c00b1249bbe3554a4fdf6fb` int(11) DEFAULT NULL,
-  `F_3295c76acbf4caaed33c36b1b5fc2cb1` int(11) DEFAULT NULL,
-  `F_735b90b4568125ed6c3f678819b6e058` int(11) DEFAULT NULL,
-  `F_a3f390d88e4c41f2747bfa2f1b5f87db` int(11) DEFAULT NULL,
-  `F_14bfa6bb14875e45bba028a21ed38046` int(11) DEFAULT NULL,
-  `F_7cbbc409ec990f19c78c75bd1e06f215` int(11) DEFAULT NULL,
-  `F_e2c420d928d4bf8ce0ff2ec19b371514` int(11) DEFAULT NULL,
-  `F_32bb90e8976aab5298d5da10fe66f21d` int(11) DEFAULT NULL,
-  `F_d2ddea18f00665ce8623e36bd4e3c7c5` int(11) DEFAULT NULL,
-  `F_ad61ab143223efbc24c7d2583be69251` int(11) DEFAULT NULL,
-  `F_d09bf41544a3365a46c9077ebb5e35c3` int(11) DEFAULT NULL,
-  `F_fbd7939d674997cdb4692d34de8633c4` int(11) DEFAULT NULL,
-  `F_28dd2c7955ce926456240b2ff0100bde` int(11) DEFAULT NULL,
-  `F_35f4a8d465e6e1edc05f3d8ab658c551` int(11) DEFAULT NULL,
-  `F_d1fe173d08e959397adf34b1d77e88d7` int(11) DEFAULT NULL,
-  `F_f033ab37c30201f73f142449d037028d` int(11) DEFAULT NULL,
-  `F_43ec517d68b6edd3015b3edc9a11367b` int(11) DEFAULT NULL,
-  `F_9778d5d219c5080b9a6a17bef029331c` int(11) DEFAULT NULL,
-  `F_fe9fc289c3ff0af142b6d3bead98a923` int(11) DEFAULT NULL,
-  `F_68d30a9594728bc39aa24be94b319d21` int(11) DEFAULT NULL,
-  `F_3ef815416f775098fe977004015c6193` int(11) DEFAULT NULL,
-  `F_93db85ed909c13838ff95ccfa94cebd9` int(11) DEFAULT NULL,
-  `F_c7e1249ffc03eb9ded908c236bd1996d` int(11) DEFAULT NULL,
-  `F_2a38a4a9316c49e5a833517c45d31070` int(11) DEFAULT NULL,
-  `F_7647966b7343c29048673252e490f736` int(11) DEFAULT NULL,
-  `F_8613985ec49eb8f757ae6439e879bb2a` int(11) DEFAULT NULL,
-  `F_54229abfcfa5649e7003b83dd4755294` int(11) DEFAULT NULL,
-  `F_92cc227532d17e56e07902b254dfad10` int(11) DEFAULT NULL,
-  `F_98dce83da57b0395e163467c9dae521b` int(11) DEFAULT NULL,
-  `F_f4b9ec30ad9f68f89b29639786cb62ef` int(11) DEFAULT NULL,
-  `F_812b4ba287f5ee0bc9d43bbf5bbe87fb` int(11) DEFAULT NULL,
-  `F_26657d5ff9020d2abefe558796b99584` int(11) DEFAULT NULL,
-  `F_e2ef524fbf3d9fe611d5a8e90fefdc9c` int(11) DEFAULT NULL,
-  `F_ed3d2c21991e3bef5e069713af9fa6ca` int(11) DEFAULT NULL,
-  `F_ac627ab1ccbdb62ec96e702f07f6425b` int(11) DEFAULT NULL,
-  `F_f899139df5e1059396431415e770c6dd` int(11) DEFAULT NULL,
-  `F_38b3eff8baf56627478ec76a704e9b52` int(11) DEFAULT NULL,
-  `F_ec8956637a99787bd197eacd77acce5e` int(11) DEFAULT NULL,
-  `F_6974ce5ac660610b44d9b9fed0ff9548` int(11) DEFAULT NULL,
-  `F_c9e1074f5b3f9fc8ea15d152add07294` int(11) DEFAULT NULL,
-  `F_65b9eea6e1cc6bb9f0cd2a47751a186f` int(11) DEFAULT NULL,
-  `F_f0935e4cd5920aa6c7c996a5ee53a70f` int(11) DEFAULT NULL,
-  `F_a97da629b098b75c294dffdc3e463904` int(11) DEFAULT NULL,
-  `F_a3c65c2974270fd093ee8a9bf8ae7d0b` int(11) DEFAULT NULL,
-  `F_2723d092b63885e0d7c260cc007e8b9d` int(11) DEFAULT NULL,
-  `F_5f93f983524def3dca464469d2cf9f3e` int(11) DEFAULT NULL,
-  `F_698d51a19d8a121ce581499d7b701668` int(11) DEFAULT NULL,
-  `F_7f6ffaa6bb0b408017b62254211691b5` int(11) DEFAULT NULL,
-  `F_73278a4a86960eeb576a8fd4c9ec6997` int(11) DEFAULT NULL,
-  `F_5fd0b37cd7dbbb00f97ba6ce92bf5add` int(11) DEFAULT NULL,
-  `F_2b44928ae11fb9384c4cf38708677c48` int(11) DEFAULT NULL,
-  `F_c45147dee729311ef5b5c3003946c48f` int(11) DEFAULT NULL,
-  `F_eb160de1de89d9058fcb0b968dbbbd68` int(11) DEFAULT NULL,
-  `F_5ef059938ba799aaa845e1c2e8a762bd` int(11) DEFAULT NULL,
-  `F_07e1cd7dca89a1678042477183b7ac3f` int(11) DEFAULT NULL,
-  `F_da4fb5c6e93e74d3df8527599fa62642` int(11) DEFAULT NULL,
-  `F_4c56ff4ce4aaf9573aa5dff913df997a` int(11) DEFAULT NULL,
-  `F_a0a080f42e6f13b3a2df133f073095dd` int(11) DEFAULT NULL,
-  `F_202cb962ac59075b964b07152d234b70` int(11) DEFAULT NULL,
-  `F_c8ffe9a587b126f152ed3d89a146b445` int(11) DEFAULT NULL,
-  `F_3def184ad8f4755ff269862ea77393dd` int(11) DEFAULT NULL,
-  `F_069059b7ef840f0c74a814ec9237b6ec` int(11) DEFAULT NULL,
-  `F_ec5decca5ed3d6b8079e2e7e7bacc9f2` int(11) DEFAULT NULL,
-  `F_76dc611d6ebaafc66cc0879c71b5db5c` int(11) DEFAULT NULL,
-  `F_d1f491a404d6854880943e5c3cd9ca25` int(11) DEFAULT NULL,
-  `F_9b8619251a19057cff70779273e95aa6` int(11) DEFAULT NULL,
-  `F_1afa34a7f984eeabdbb0a7d494132ee5` int(11) DEFAULT NULL,
-  `F_65ded5353c5ee48d0b7d48c591b8f430` int(11) DEFAULT NULL,
-  `F_9fc3d7152ba9336a670e36d0ed79bc43` int(11) DEFAULT NULL,
-  `F_02522a2b2726fb0a03bb19f2d8d9524d` int(11) DEFAULT NULL,
-  `F_7f1de29e6da19d22b51c68001e7e0e54` int(11) DEFAULT NULL,
-  `F_42a0e188f5033bc65bf8d78622277c4e` int(11) DEFAULT NULL,
-  `F_3988c7f88ebcb58c6ce932b957b6f332` int(11) DEFAULT NULL,
-  `F_013d407166ec4fa56eb1e1f8cbe183b9` int(11) DEFAULT NULL,
-  `F_e00da03b685a0dd18fb6a08af0923de0` int(11) DEFAULT NULL,
-  `F_1385974ed5904a438616ff7bdb3f7439` int(11) DEFAULT NULL,
-  `F_0f28b5d49b3020afeecd95b4009adf4c` int(11) DEFAULT NULL,
-  `F_a8baa56554f96369ab93e4f3bb068c22` int(11) DEFAULT NULL,
-  `F_903ce9225fca3e988c2af215d4e544d3` int(11) DEFAULT NULL,
-  `F_0a09c8844ba8f0936c20bd791130d6b6` int(11) DEFAULT NULL,
-  `F_2b24d495052a8ce66358eb576b8912c8` int(11) DEFAULT NULL,
-  `F_a5e00132373a7031000fd987a3c9f87b` int(11) DEFAULT NULL,
-  `F_8d5e957f297893487bd98fa830fa6413` int(11) DEFAULT NULL,
-  `F_47d1e990583c9c67424d369f3414728e` int(11) DEFAULT NULL,
-  `F_f2217062e9a397a1dca429e7d70bc6ca` int(11) DEFAULT NULL,
-  `F_7ef605fc8dba5425d6965fbd4c8fbe1f` int(11) DEFAULT NULL,
-  `F_a8f15eda80c50adb0e71943adc8015cf` int(11) DEFAULT NULL,
-  `F_37a749d808e46495a8da1e5352d03cae` int(11) DEFAULT NULL,
-  `F_b3e3e393c77e35a4a3f3cbd1e429b5dc` int(11) DEFAULT NULL,
-  `F_1d7f7abc18fcb43975065399b0d1e48e` int(11) DEFAULT NULL,
-  `F_2a79ea27c279e471f4d180b08d62b00a` int(11) DEFAULT NULL,
-  `F_1c9ac0159c94d8d0cbedc973445af2da` int(11) DEFAULT NULL,
-  `F_6c4b761a28b734fe93831e3fb400ce87` int(11) DEFAULT NULL,
-  `F_06409663226af2f3114485aa4e0a23b4` int(11) DEFAULT NULL,
-  `F_140f6969d5213fd0ece03148e62e461e` int(11) DEFAULT NULL,
-  `F_b73ce398c39f506af761d2277d853a92` int(11) DEFAULT NULL,
-  `F_bd4c9ab730f5513206b999ec0d90d1fb` int(11) DEFAULT NULL,
-  `F_82aa4b0af34c2313a562076992e50aa3` int(11) DEFAULT NULL,
-  `F_0777d5c17d4066b82ab86dff8a46af6f` int(11) DEFAULT NULL,
-  `F_fa7cdfad1a5aaf8370ebeda47a1ff1c3` int(11) DEFAULT NULL,
-  `F_9766527f2b5d3e95d4a733fcfb77bd7e` int(11) DEFAULT NULL,
-  `F_7e7757b1e12abcb736ab9a754ffb617a` int(11) DEFAULT NULL,
-  `F_5878a7ab84fb43402106c575658472fa` int(11) DEFAULT NULL,
-  `F_006f52e9102a8d3be2fe5614f42ba989` int(11) DEFAULT NULL,
-  `F_3636638817772e42b59d74cff571fbb3` int(11) DEFAULT NULL,
-  `F_149e9677a5989fd342ae44213df68868` int(11) DEFAULT NULL,
-  `F_a4a042cf4fd6bfb47701cbc8a1653ada` int(11) DEFAULT NULL,
-  `F_1ff8a7b5dc7a7d1f0ed65aaa29c04b1e` int(11) DEFAULT NULL,
-  `F_f7e6c85504ce6e82442c770f7c8606f0` int(11) DEFAULT NULL,
-  `F_bf8229696f7a3bb4700cfddef19fa23f` int(11) DEFAULT NULL,
-  `F_82161242827b703e6acf9c726942a1e4` int(11) DEFAULT NULL,
-  `F_38af86134b65d0f10fe33d30dd76442e` int(11) DEFAULT NULL,
-  `F_96da2f590cd7246bbde0051047b0d6f7` int(11) DEFAULT NULL,
-  `F_8f85517967795eeef66c225f7883bdcb` int(11) DEFAULT NULL,
-  `F_8f53295a73878494e9bc8dd6c3c7104f` int(11) DEFAULT NULL,
-  `F_045117b0e0a11a242b9765e79cbf113f` int(11) DEFAULT NULL,
-  `F_fc221309746013ac554571fbd180e1c8` int(11) DEFAULT NULL,
-  `F_4c5bde74a8f110656874902f07378009` int(11) DEFAULT NULL,
-  `F_cedebb6e872f539bef8c3f919874e9d7` int(11) DEFAULT NULL,
-  `F_6cdd60ea0045eb7a6ec44c54d29ed402` int(11) DEFAULT NULL,
-  `F_eecca5b6365d9607ee5a9d336962c534` int(11) DEFAULT NULL,
-  `F_9872ed9fc22fc182d371c3e9ed316094` int(11) DEFAULT NULL,
-  `F_31fefc0e570cb3860f2a6d4b38c6490d` int(11) DEFAULT NULL,
-  `F_9dcb88e0137649590b755372b040afad` int(11) DEFAULT NULL,
-  `F_a2557a7b2e94197ff767970b67041697` int(11) DEFAULT NULL,
-  `F_cfecdb276f634854f3ef915e2e980c31` int(11) DEFAULT NULL,
-  `F_0aa1883c6411f7873cb83dacb17b0afc` int(11) DEFAULT NULL,
-  `F_58a2fc6ed39fd083f55d4182bf88826d` int(11) DEFAULT NULL,
-  `F_bd686fd640be98efaae0091fa301e613` int(11) DEFAULT NULL,
-  `F_a597e50502f5ff68e3e25b9114205d4a` int(11) DEFAULT NULL,
-  `F_0336dcbab05b9d5ad24f4333c7658a0e` int(11) DEFAULT NULL,
-  `F_084b6fbb10729ed4da8c3d3f5a3ae7c9` int(11) DEFAULT NULL,
-  `F_85d8ce590ad8981ca2c8286f79f59954` int(11) DEFAULT NULL,
-  `F_0e65972dce68dad4d52d063967f0a705` int(11) DEFAULT NULL,
-  `F_84d9ee44e457ddef7f2c4f25dc8fa865` int(11) DEFAULT NULL,
-  `F_3644a684f98ea8fe223c713b77189a77` int(11) DEFAULT NULL,
-  `F_757b505cfd34c64c85ca5b5690ee5293` int(11) DEFAULT NULL,
-  `F_854d6fae5ee42911677c739ee1734486` int(11) DEFAULT NULL,
-  `F_e2c0be24560d78c5e599c2a9c9d0bbd2` int(11) DEFAULT NULL,
-  `F_274ad4786c3abca69fa097b85867d9a4` int(11) DEFAULT NULL,
-  `F_eae27d77ca20db309e056e3d2dcd7d69` int(11) DEFAULT NULL,
-  `F_7eabe3a1649ffa2b3ff8c02ebfd5659f` int(11) DEFAULT NULL,
-  `F_69adc1e107f7f7d035d7baf04342e1ca` int(11) DEFAULT NULL,
-  `F_091d584fced301b442654dd8c23b3fc9` int(11) DEFAULT NULL,
-  `F_b1d10e7bafa4421218a51b1e1f1b0ba2` int(11) DEFAULT NULL,
-  `F_6f3ef77ac0e3619e98159e9b6febf557` int(11) DEFAULT NULL,
-  `F_eb163727917cbba1eea208541a643e74` int(11) DEFAULT NULL,
-  `F_1534b76d325a8f591b52d302e7181331` int(11) DEFAULT NULL,
-  `F_979d472a84804b9f647bc185a877a8b5` int(11) DEFAULT NULL,
-  `F_ca46c1b9512a7a8315fa3c5a946e8265` int(11) DEFAULT NULL,
-  `F_3b8a614226a953a8cd9526fca6fe9ba5` int(11) DEFAULT NULL,
-  `F_45fbc6d3e05ebd93369ce542e8f2322d` int(11) DEFAULT NULL,
-  `F_63dc7ed1010d3c3b8269faf0ba7491d4` int(11) DEFAULT NULL,
-  `F_e96ed478dab8595a7dbda4cbcbee168f` int(11) DEFAULT NULL,
-  `F_c0e190d8267e36708f955d7ab048990d` int(11) DEFAULT NULL,
-  `F_ec8ce6abb3e952a85b8551ba726a1227` int(11) DEFAULT NULL,
-  `F_060ad92489947d410d897474079c1477` int(11) DEFAULT NULL,
-  `F_bcbe3365e6ac95ea2c0343a2395834dd` int(11) DEFAULT NULL,
-  `F_115f89503138416a242f40fb7d7f338e` int(11) DEFAULT NULL,
-  `F_13fe9d84310e77f13a6d184dbf1232f3` int(11) DEFAULT NULL,
-  `F_d1c38a09acc34845c6be3a127a5aacaf` int(11) DEFAULT NULL,
-  `F_9cfdf10e8fc047a44b08ed031e1f0ed1` int(11) DEFAULT NULL,
-  `F_705f2172834666788607efbfca35afb3` int(11) DEFAULT NULL,
-  `F_74db120f0a8e5646ef5a30154e9f6deb` int(11) DEFAULT NULL,
-  `F_57aeee35c98205091e18d1140e9f38cf` int(11) DEFAULT NULL,
-  `F_6da9003b743b65f4c0ccd295cc484e57` int(11) DEFAULT NULL,
-  `F_9b04d152845ec0a378394003c96da594` int(11) DEFAULT NULL,
-  `F_be83ab3ecd0db773eb2dc1b0a17836a1` int(11) DEFAULT NULL,
-  `F_e165421110ba03099a1c0393373c5b43` int(11) DEFAULT NULL,
-  `F_289dff07669d7a23de0ef88d2f7129e7` int(11) DEFAULT NULL,
-  `F_577ef1154f3240ad5b9b413aa7346a1e` int(11) DEFAULT NULL,
-  `F_01161aaa0b6d1345dd8fe4e481144d84` int(11) DEFAULT NULL,
-  `F_539fd53b59e3bb12d203f45a912eeaf2` int(11) DEFAULT NULL,
-  `F_ac1dd209cbcc5e5d1c6e28598e8cbbe8` int(11) DEFAULT NULL,
-  `F_555d6702c950ecb729a966504af0a635` int(11) DEFAULT NULL,
-  `F_335f5352088d7d9bf74191e006d8e24c` int(11) DEFAULT NULL,
-  `F_f340f1b1f65b6df5b5e3f94d95b11daf` int(11) DEFAULT NULL,
-  `F_e4a6222cdb5b34375400904f03d8e6a5` int(11) DEFAULT NULL,
-  `F_cb70ab375662576bd1ac5aaf16b3fca4` int(11) DEFAULT NULL,
-  `F_9188905e74c28e489b44e954ec0b9bca` int(11) DEFAULT NULL,
-  `F_0266e33d3f546cb5436a10798e657d97` int(11) DEFAULT NULL,
-  `F_38db3aed920cf82ab059bfccbd02be6a` int(11) DEFAULT NULL,
-  `F_3cec07e9ba5f5bb252d13f5f431e4bbb` int(11) DEFAULT NULL,
-  `F_621bf66ddb7c962aa0d22ac97d69b793` int(11) DEFAULT NULL,
-  `F_077e29b11be80ab57e1a2ecabb7da330` int(11) DEFAULT NULL,
-  `F_6c9882bbac1c7093bd25041881277658` int(11) DEFAULT NULL,
-  `F_19f3cd308f1455b3fa09a282e0d496f4` int(11) DEFAULT NULL,
-  `F_03c6b06952c750899bb03d998e631860` int(11) DEFAULT NULL,
-  `F_c24cd76e1ce41366a4bbe8a49b02a028` int(11) DEFAULT NULL,
-  `F_c52f1bd66cc19d05628bd8bf27af3ad6` int(11) DEFAULT NULL,
-  `F_fe131d7f5a6b38b23cc967316c13dae2` int(11) DEFAULT NULL,
-  `F_f718499c1c8cef6730f9fd03c8125cab` int(11) DEFAULT NULL,
-  `F_d96409bf894217686ba124d7356686c9` int(11) DEFAULT NULL,
-  `F_502e4a16930e414107ee22b6198c578f` int(11) DEFAULT NULL,
-  `F_cfa0860e83a4c3a763a7e62d825349f7` int(11) DEFAULT NULL,
-  `F_a4f23670e1833f3fdb077ca70bbd5d66` int(11) DEFAULT NULL,
-  `F_b1a59b315fc9a3002ce38bbe070ec3f5` int(11) DEFAULT NULL,
-  `F_36660e59856b4de58a219bcf4e27eba3` int(11) DEFAULT NULL,
-  `F_8c19f571e251e61cb8dd3612f26d5ecf` int(11) DEFAULT NULL,
-  `F_d6baf65e0b240ce177cf70da146c8dc8` int(11) DEFAULT NULL,
-  `F_e56954b4f6347e897f954495eab16a88` int(11) DEFAULT NULL,
-  `F_f7664060cc52bc6f3d620bcedc94a4b6` int(11) DEFAULT NULL,
-  `F_eda80a3d5b344bc40f3bc04f65b7a357` int(11) DEFAULT NULL,
-  `F_8f121ce07d74717e0b1f21d122e04521` int(11) DEFAULT NULL,
-  `F_06138bc5af6023646ede0e1f7c1eac75` int(11) DEFAULT NULL,
-  `F_39059724f73a9969845dfe4146c5660e` int(11) DEFAULT NULL,
-  `F_7f100b7b36092fb9b06dfb4fac360931` int(11) DEFAULT NULL,
-  `F_7a614fd06c325499f1680b9896beedeb` int(11) DEFAULT NULL,
-  `F_4734ba6f3de83d861c3176a6273cac6d` int(11) DEFAULT NULL,
-  `F_d947bf06a885db0d477d707121934ff8` int(11) DEFAULT NULL,
-  `F_63923f49e5241343aa7acb6a06a751e7` int(11) DEFAULT NULL,
-  `F_db8e1af0cb3aca1ae2d0018624204529` int(11) DEFAULT NULL,
-  `F_20f07591c6fcb220ffe637cda29bb3f6` int(11) DEFAULT NULL,
-  `F_07cdfd23373b17c6b337251c22b7ea57` int(11) DEFAULT NULL,
-  `F_d395771085aab05244a4fb8fd91bf4ee` int(11) DEFAULT NULL,
-  `F_92c8c96e4c37100777c7190b76d28233` int(11) DEFAULT NULL,
-  `F_e3796ae838835da0b6f6ea37bcf8bcb7` int(11) DEFAULT NULL,
-  `F_6a9aeddfc689c1d0e3b9ccc3ab651bc5` int(11) DEFAULT NULL,
-  `F_0f49c89d1e7298bb9930789c8ed59d48` int(11) DEFAULT NULL,
-  `F_46ba9f2a6976570b0353203ec4474217` int(11) DEFAULT NULL,
-  `F_0e01938fc48a2cfb5f2217fbfb00722d` int(11) DEFAULT NULL,
-  `F_16a5cdae362b8d27a1d8f8c7b78b4330` int(11) DEFAULT NULL,
-  `F_918317b57931b6b7a7d29490fe5ec9f9` int(11) DEFAULT NULL,
-  `F_48aedb8880cab8c45637abc7493ecddd` int(11) DEFAULT NULL,
-  `F_839ab46820b524afda05122893c2fe8e` int(11) DEFAULT NULL,
-  `F_f90f2aca5c640289d0a29417bcb63a37` int(11) DEFAULT NULL,
-  `F_9c838d2e45b2ad1094d42f4ef36764f6` int(11) DEFAULT NULL,
-  `F_1700002963a49da13542e0726b7bb758` int(11) DEFAULT NULL,
-  `F_53c3bce66e43be4f209556518c2fcb54` int(11) DEFAULT NULL,
-  `F_6883966fd8f918a4aa29be29d2c386fb` int(11) DEFAULT NULL,
-  `F_49182f81e6a13cf5eaa496d51fea6406` int(11) DEFAULT NULL,
-  `F_d296c101daa88a51f6ca8cfc1ac79b50` int(11) DEFAULT NULL,
-  `F_9fd81843ad7f202f26c1a174c7357585` int(11) DEFAULT NULL,
-  `F_26e359e83860db1d11b6acca57d8ea88` int(11) DEFAULT NULL,
-  `F_ef0d3930a7b6c95bd2b32ed45989c61f` int(11) DEFAULT NULL,
-  `F_94f6d7e04a4d452035300f18b984988c` int(11) DEFAULT NULL,
-  `F_34ed066df378efacc9b924ec161e7639` int(11) DEFAULT NULL,
-  `F_577bcc914f9e55d5e4e4f82f9f00e7d4` int(11) DEFAULT NULL,
-  `F_11b9842e0a271ff252c1903e7132cd68` int(11) DEFAULT NULL,
-  `F_37bc2f75bf1bcfe8450a1a41c200364c` int(11) DEFAULT NULL,
-  `F_496e05e1aea0a9c4655800e8a7b9ea28` int(11) DEFAULT NULL,
-  `F_b2eb7349035754953b57a32e2841bda5` int(11) DEFAULT NULL,
-  `F_8e98d81f8217304975ccb23337bb5761` int(11) DEFAULT NULL,
-  `F_a8c88a0055f636e4a163a5e3d16adab7` int(11) DEFAULT NULL,
-  `F_eddea82ad2755b24c4e168c5fc2ebd40` int(11) DEFAULT NULL,
-  `F_06eb61b839a0cefee4967c67ccb099dc` int(11) DEFAULT NULL,
-  `F_9dfcd5e558dfa04aaf37f137a1d9d3e5` int(11) DEFAULT NULL,
-  `F_950a4152c2b4aa3ad78bdd6b366cc179` int(11) DEFAULT NULL,
-  `F_158f3069a435b314a80bdcb024f8e422` int(11) DEFAULT NULL,
-  `F_758874998f5bd0c393da094e1967a72b` int(11) DEFAULT NULL,
-  `F_ad13a2a07ca4b7642959dc0c4c740ab6` int(11) DEFAULT NULL,
-  `F_3fe94a002317b5f9259f82690aeea4cd` int(11) DEFAULT NULL,
-  `F_5b8add2a5d98b1a652ea7fd72d942dac` int(11) DEFAULT NULL,
-  `F_432aca3a1e345e339f35a30c8f65edce` int(11) DEFAULT NULL,
-  `F_8d3bba7425e7c98c50f52ca1b52d3735` int(11) DEFAULT NULL,
-  `F_320722549d1751cf3f247855f937b982` int(11) DEFAULT NULL,
-  `F_caf1a3dfb505ffed0d024130f58c5cfa` int(11) DEFAULT NULL,
-  `F_5737c6ec2e0716f3d8a7a5c4e0de0d9a` int(11) DEFAULT NULL,
-  `F_bc6dc48b743dc5d013b1abaebd2faed2` int(11) DEFAULT NULL,
-  `F_f2fc990265c712c49d51a18a32b39f0c` int(11) DEFAULT NULL,
-  `F_89f0fd5c927d466d6ec9a21b9ac34ffa` int(11) DEFAULT NULL,
-  `F_a666587afda6e89aec274a3657558a27` int(11) DEFAULT NULL,
-  `F_b83aac23b9528732c23cc7352950e880` int(11) DEFAULT NULL,
-  `F_cd00692c3bfe59267d5ecfac5310286c` int(11) DEFAULT NULL,
-  `F_6faa8040da20ef399b63a72d0e4ab575` int(11) DEFAULT NULL,
-  `F_fe73f687e5bc5280214e0486b273a5f9` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` (`F_c4ca4238a0b923820dcc509a6f75849b`, `F_c81e728d9d4c2f636f067f89cc14862c`, `F_eccbc87e4b5ce2fe28308fd9f2a7baf3`, `F_a87ff679a2f3e71d9181a67b7542122c`, `F_e4da3b7fbbce2345d7772b0674a318d5`, `F_1679091c5a880faf6fb5e6087eb1b2dc`, `F_8f14e45fceea167a5a36dedd4bea2543`, `F_c9f0f895fb98ab9159f51fd0297e236d`, `F_45c48cce2e2d7fbdea1afc51c7c6ad26`, `F_d3d9446802a44259755d38e6d163e820`, `F_6512bd43d9caa6e02c990b0a82652dca`, `F_c20ad4d76fe97759aa27a0c99bff6710`, `F_c51ce410c124a10e0db5e4b97fc2af39`, `F_aab3238922bcc25a6f606eb525ffdc56`, `F_9bf31c7ff062936a96d3c8bd1f8f2ff3`, `F_c74d97b01eae257e44aa9d5bade97baf`, `F_70efdf2ec9b086079795c442636b55fb`, `F_6f4922f45568161a8cdf4ad2299f6d23`, `F_1f0e3dad99908345f7439f8ffabdffc4`, `F_98f13708210194c475687be6106a3b84`, `F_3c59dc048e8850243be8079a5c74d079`, `F_b6d767d2f8ed5d21a44b0e5886680cb9`, `F_37693cfc748049e45d87b8c7d8b9aacd`, `F_1ff1de774005f8da13f42943881c655f`, `F_8e296a067a37563370ded05f5a3bf3ec`, `F_4e732ced3463d06de0ca9a15b6153677`, `F_02e74f10e0327ad868d138f2b4fdd6f0`, `F_33e75ff09dd601bbe69f351039152189`, `F_6ea9ab1baa0efb9e19094440c317e21b`, `F_34173cb38f07f89ddbebc2ac9128303f`, `F_c16a5320fa475530d9583c34fd356ef5`, `F_6364d3f0f495b6ab9dcf8d3b5c6e0b01`, `F_182be0c5cdcd5072bb1864cdee4d3d6e`, `F_e369853df766fa44e1ed0ff613f563bd`, `F_1c383cd30b7c298ab50293adfecb7b18`, `F_19ca14e7ea6328a42e0eb13d585e4c22`, `F_a5bfc9e07964f8dddeb95fc584cd965d`, `F_a5771bce93e200c36f7cd9dfd0e5deaa`, `F_d67d8ab4f4c10bf22aa353e27879133c`, `F_d645920e395fedad7bbbed0eca3fe2e0`, `F_3416a75f4cea9109507cacd8e2f2aefc`, `F_a1d0c6e83f027327d8461063f4ac58a6`, `F_17e62166fc8586dfa4d1bc0e1742c08b`, `F_f7177163c833dff4b38fc8d2872f1ec6`, `F_6c8349cc7260ae62e3b1396831a8398f`, `F_d9d4f495e875a2e075a1a4a6e1b9770f`, `F_67c6a1e7ce56d3d6fa748ab6d9af3fd7`, `F_642e92efb79421734881b53e1e1b18b6`, `F_f457c545a9ded88f18ecee47145a72c0`, `F_c0c7c76d30bd3dcaefc96f40275bdc0a`, `F_2838023a778dfaecdc212708f721b788`, `F_9a1158154dfa42caddbd0694a4e9bdc8`, `F_d82c8d1619ad8176d665453cfb2e55f0`, `F_a684eceee76fc522773286a895bc8436`, `F_b53b3a3d6ab90ce0268229151c9bde11`, `F_9f61408e3afb633e50cdf1b20de6f466`, `F_72b32a1f754ba1c09b3695e0cb6cde7f`, `F_66f041e16a60928b05a7e228a89c3799`, `F_093f65e080a295f8076b1c5722a46aa2`, `F_072b030ba126b2f4b2374f342be9ed44`, `F_7f39f8317fbdb1988ef4c628eba02591`, `F_44f683a84163b3523afe57c2e008bc8c`, `F_03afdbd66e7929b125f8597834fa83a4`, `F_ea5d2f1c4608232e07d3aa3d998e5135`, `F_fc490ca45c00b1249bbe3554a4fdf6fb`, `F_3295c76acbf4caaed33c36b1b5fc2cb1`, `F_735b90b4568125ed6c3f678819b6e058`, `F_a3f390d88e4c41f2747bfa2f1b5f87db`, `F_14bfa6bb14875e45bba028a21ed38046`, `F_7cbbc409ec990f19c78c75bd1e06f215`, `F_e2c420d928d4bf8ce0ff2ec19b371514`, `F_32bb90e8976aab5298d5da10fe66f21d`, `F_d2ddea18f00665ce8623e36bd4e3c7c5`, `F_ad61ab143223efbc24c7d2583be69251`, `F_d09bf41544a3365a46c9077ebb5e35c3`, `F_fbd7939d674997cdb4692d34de8633c4`, `F_28dd2c7955ce926456240b2ff0100bde`, `F_35f4a8d465e6e1edc05f3d8ab658c551`, `F_d1fe173d08e959397adf34b1d77e88d7`, `F_f033ab37c30201f73f142449d037028d`, `F_43ec517d68b6edd3015b3edc9a11367b`, `F_9778d5d219c5080b9a6a17bef029331c`, `F_fe9fc289c3ff0af142b6d3bead98a923`, `F_68d30a9594728bc39aa24be94b319d21`, `F_3ef815416f775098fe977004015c6193`, `F_93db85ed909c13838ff95ccfa94cebd9`, `F_c7e1249ffc03eb9ded908c236bd1996d`, `F_2a38a4a9316c49e5a833517c45d31070`, `F_7647966b7343c29048673252e490f736`, `F_8613985ec49eb8f757ae6439e879bb2a`, `F_54229abfcfa5649e7003b83dd4755294`, `F_92cc227532d17e56e07902b254dfad10`, `F_98dce83da57b0395e163467c9dae521b`, `F_f4b9ec30ad9f68f89b29639786cb62ef`, `F_812b4ba287f5ee0bc9d43bbf5bbe87fb`, `F_26657d5ff9020d2abefe558796b99584`, `F_e2ef524fbf3d9fe611d5a8e90fefdc9c`, `F_ed3d2c21991e3bef5e069713af9fa6ca`, `F_ac627ab1ccbdb62ec96e702f07f6425b`, `F_f899139df5e1059396431415e770c6dd`, `F_38b3eff8baf56627478ec76a704e9b52`, `F_ec8956637a99787bd197eacd77acce5e`, `F_6974ce5ac660610b44d9b9fed0ff9548`, `F_c9e1074f5b3f9fc8ea15d152add07294`, `F_65b9eea6e1cc6bb9f0cd2a47751a186f`, `F_f0935e4cd5920aa6c7c996a5ee53a70f`, `F_a97da629b098b75c294dffdc3e463904`, `F_a3c65c2974270fd093ee8a9bf8ae7d0b`, `F_2723d092b63885e0d7c260cc007e8b9d`, `F_5f93f983524def3dca464469d2cf9f3e`, `F_698d51a19d8a121ce581499d7b701668`, `F_7f6ffaa6bb0b408017b62254211691b5`, `F_73278a4a86960eeb576a8fd4c9ec6997`, `F_5fd0b37cd7dbbb00f97ba6ce92bf5add`, `F_2b44928ae11fb9384c4cf38708677c48`, `F_c45147dee729311ef5b5c3003946c48f`, `F_eb160de1de89d9058fcb0b968dbbbd68`, `F_5ef059938ba799aaa845e1c2e8a762bd`, `F_07e1cd7dca89a1678042477183b7ac3f`, `F_da4fb5c6e93e74d3df8527599fa62642`, `F_4c56ff4ce4aaf9573aa5dff913df997a`, `F_a0a080f42e6f13b3a2df133f073095dd`, `F_202cb962ac59075b964b07152d234b70`, `F_c8ffe9a587b126f152ed3d89a146b445`, `F_3def184ad8f4755ff269862ea77393dd`, `F_069059b7ef840f0c74a814ec9237b6ec`, `F_ec5decca5ed3d6b8079e2e7e7bacc9f2`, `F_76dc611d6ebaafc66cc0879c71b5db5c`, `F_d1f491a404d6854880943e5c3cd9ca25`, `F_9b8619251a19057cff70779273e95aa6`, `F_1afa34a7f984eeabdbb0a7d494132ee5`, `F_65ded5353c5ee48d0b7d48c591b8f430`, `F_9fc3d7152ba9336a670e36d0ed79bc43`, `F_02522a2b2726fb0a03bb19f2d8d9524d`, `F_7f1de29e6da19d22b51c68001e7e0e54`, `F_42a0e188f5033bc65bf8d78622277c4e`, `F_3988c7f88ebcb58c6ce932b957b6f332`, `F_013d407166ec4fa56eb1e1f8cbe183b9`, `F_e00da03b685a0dd18fb6a08af0923de0`, `F_1385974ed5904a438616ff7bdb3f7439`, `F_0f28b5d49b3020afeecd95b4009adf4c`, `F_a8baa56554f96369ab93e4f3bb068c22`, `F_903ce9225fca3e988c2af215d4e544d3`, `F_0a09c8844ba8f0936c20bd791130d6b6`, `F_2b24d495052a8ce66358eb576b8912c8`, `F_a5e00132373a7031000fd987a3c9f87b`, `F_8d5e957f297893487bd98fa830fa6413`, `F_47d1e990583c9c67424d369f3414728e`, `F_f2217062e9a397a1dca429e7d70bc6ca`, `F_7ef605fc8dba5425d6965fbd4c8fbe1f`, `F_a8f15eda80c50adb0e71943adc8015cf`, `F_37a749d808e46495a8da1e5352d03cae`, `F_b3e3e393c77e35a4a3f3cbd1e429b5dc`, `F_1d7f7abc18fcb43975065399b0d1e48e`, `F_2a79ea27c279e471f4d180b08d62b00a`, `F_1c9ac0159c94d8d0cbedc973445af2da`, `F_6c4b761a28b734fe93831e3fb400ce87`, `F_06409663226af2f3114485aa4e0a23b4`, `F_140f6969d5213fd0ece03148e62e461e`, `F_b73ce398c39f506af761d2277d853a92`, `F_bd4c9ab730f5513206b999ec0d90d1fb`, `F_82aa4b0af34c2313a562076992e50aa3`, `F_0777d5c17d4066b82ab86dff8a46af6f`, `F_fa7cdfad1a5aaf8370ebeda47a1ff1c3`, `F_9766527f2b5d3e95d4a733fcfb77bd7e`, `F_7e7757b1e12abcb736ab9a754ffb617a`, `F_5878a7ab84fb43402106c575658472fa`, `F_006f52e9102a8d3be2fe5614f42ba989`, `F_3636638817772e42b59d74cff571fbb3`, `F_149e9677a5989fd342ae44213df68868`, `F_a4a042cf4fd6bfb47701cbc8a1653ada`, `F_1ff8a7b5dc7a7d1f0ed65aaa29c04b1e`, `F_f7e6c85504ce6e82442c770f7c8606f0`, `F_bf8229696f7a3bb4700cfddef19fa23f`, `F_82161242827b703e6acf9c726942a1e4`, `F_38af86134b65d0f10fe33d30dd76442e`, `F_96da2f590cd7246bbde0051047b0d6f7`, `F_8f85517967795eeef66c225f7883bdcb`, `F_8f53295a73878494e9bc8dd6c3c7104f`, `F_045117b0e0a11a242b9765e79cbf113f`, `F_fc221309746013ac554571fbd180e1c8`, `F_4c5bde74a8f110656874902f07378009`, `F_cedebb6e872f539bef8c3f919874e9d7`, `F_6cdd60ea0045eb7a6ec44c54d29ed402`, `F_eecca5b6365d9607ee5a9d336962c534`, `F_9872ed9fc22fc182d371c3e9ed316094`, `F_31fefc0e570cb3860f2a6d4b38c6490d`, `F_9dcb88e0137649590b755372b040afad`, `F_a2557a7b2e94197ff767970b67041697`, `F_cfecdb276f634854f3ef915e2e980c31`, `F_0aa1883c6411f7873cb83dacb17b0afc`, `F_58a2fc6ed39fd083f55d4182bf88826d`, `F_bd686fd640be98efaae0091fa301e613`, `F_a597e50502f5ff68e3e25b9114205d4a`, `F_0336dcbab05b9d5ad24f4333c7658a0e`, `F_084b6fbb10729ed4da8c3d3f5a3ae7c9`, `F_85d8ce590ad8981ca2c8286f79f59954`, `F_0e65972dce68dad4d52d063967f0a705`, `F_84d9ee44e457ddef7f2c4f25dc8fa865`, `F_3644a684f98ea8fe223c713b77189a77`, `F_757b505cfd34c64c85ca5b5690ee5293`, `F_854d6fae5ee42911677c739ee1734486`, `F_e2c0be24560d78c5e599c2a9c9d0bbd2`, `F_274ad4786c3abca69fa097b85867d9a4`, `F_eae27d77ca20db309e056e3d2dcd7d69`, `F_7eabe3a1649ffa2b3ff8c02ebfd5659f`, `F_69adc1e107f7f7d035d7baf04342e1ca`, `F_091d584fced301b442654dd8c23b3fc9`, `F_b1d10e7bafa4421218a51b1e1f1b0ba2`, `F_6f3ef77ac0e3619e98159e9b6febf557`, `F_eb163727917cbba1eea208541a643e74`, `F_1534b76d325a8f591b52d302e7181331`, `F_979d472a84804b9f647bc185a877a8b5`, `F_ca46c1b9512a7a8315fa3c5a946e8265`, `F_3b8a614226a953a8cd9526fca6fe9ba5`, `F_45fbc6d3e05ebd93369ce542e8f2322d`, `F_63dc7ed1010d3c3b8269faf0ba7491d4`, `F_e96ed478dab8595a7dbda4cbcbee168f`, `F_c0e190d8267e36708f955d7ab048990d`, `F_ec8ce6abb3e952a85b8551ba726a1227`, `F_060ad92489947d410d897474079c1477`, `F_bcbe3365e6ac95ea2c0343a2395834dd`, `F_115f89503138416a242f40fb7d7f338e`, `F_13fe9d84310e77f13a6d184dbf1232f3`, `F_d1c38a09acc34845c6be3a127a5aacaf`, `F_9cfdf10e8fc047a44b08ed031e1f0ed1`, `F_705f2172834666788607efbfca35afb3`, `F_74db120f0a8e5646ef5a30154e9f6deb`, `F_57aeee35c98205091e18d1140e9f38cf`, `F_6da9003b743b65f4c0ccd295cc484e57`, `F_9b04d152845ec0a378394003c96da594`, `F_be83ab3ecd0db773eb2dc1b0a17836a1`, `F_e165421110ba03099a1c0393373c5b43`, `F_289dff07669d7a23de0ef88d2f7129e7`, `F_577ef1154f3240ad5b9b413aa7346a1e`, `F_01161aaa0b6d1345dd8fe4e481144d84`, `F_539fd53b59e3bb12d203f45a912eeaf2`, `F_ac1dd209cbcc5e5d1c6e28598e8cbbe8`, `F_555d6702c950ecb729a966504af0a635`, `F_335f5352088d7d9bf74191e006d8e24c`, `F_f340f1b1f65b6df5b5e3f94d95b11daf`, `F_e4a6222cdb5b34375400904f03d8e6a5`, `F_cb70ab375662576bd1ac5aaf16b3fca4`, `F_9188905e74c28e489b44e954ec0b9bca`, `F_0266e33d3f546cb5436a10798e657d97`, `F_38db3aed920cf82ab059bfccbd02be6a`, `F_3cec07e9ba5f5bb252d13f5f431e4bbb`, `F_621bf66ddb7c962aa0d22ac97d69b793`, `F_077e29b11be80ab57e1a2ecabb7da330`, `F_6c9882bbac1c7093bd25041881277658`, `F_19f3cd308f1455b3fa09a282e0d496f4`, `F_03c6b06952c750899bb03d998e631860`, `F_c24cd76e1ce41366a4bbe8a49b02a028`, `F_c52f1bd66cc19d05628bd8bf27af3ad6`, `F_fe131d7f5a6b38b23cc967316c13dae2`, `F_f718499c1c8cef6730f9fd03c8125cab`, `F_d96409bf894217686ba124d7356686c9`, `F_502e4a16930e414107ee22b6198c578f`, `F_cfa0860e83a4c3a763a7e62d825349f7`, `F_a4f23670e1833f3fdb077ca70bbd5d66`, `F_b1a59b315fc9a3002ce38bbe070ec3f5`, `F_36660e59856b4de58a219bcf4e27eba3`, `F_8c19f571e251e61cb8dd3612f26d5ecf`, `F_d6baf65e0b240ce177cf70da146c8dc8`, `F_e56954b4f6347e897f954495eab16a88`, `F_f7664060cc52bc6f3d620bcedc94a4b6`, `F_eda80a3d5b344bc40f3bc04f65b7a357`, `F_8f121ce07d74717e0b1f21d122e04521`, `F_06138bc5af6023646ede0e1f7c1eac75`, `F_39059724f73a9969845dfe4146c5660e`, `F_7f100b7b36092fb9b06dfb4fac360931`, `F_7a614fd06c325499f1680b9896beedeb`, `F_4734ba6f3de83d861c3176a6273cac6d`, `F_d947bf06a885db0d477d707121934ff8`, `F_63923f49e5241343aa7acb6a06a751e7`, `F_db8e1af0cb3aca1ae2d0018624204529`, `F_20f07591c6fcb220ffe637cda29bb3f6`, `F_07cdfd23373b17c6b337251c22b7ea57`, `F_d395771085aab05244a4fb8fd91bf4ee`, `F_92c8c96e4c37100777c7190b76d28233`, `F_e3796ae838835da0b6f6ea37bcf8bcb7`, `F_6a9aeddfc689c1d0e3b9ccc3ab651bc5`, `F_0f49c89d1e7298bb9930789c8ed59d48`, `F_46ba9f2a6976570b0353203ec4474217`, `F_0e01938fc48a2cfb5f2217fbfb00722d`, `F_16a5cdae362b8d27a1d8f8c7b78b4330`, `F_918317b57931b6b7a7d29490fe5ec9f9`, `F_48aedb8880cab8c45637abc7493ecddd`, `F_839ab46820b524afda05122893c2fe8e`, `F_f90f2aca5c640289d0a29417bcb63a37`, `F_9c838d2e45b2ad1094d42f4ef36764f6`, `F_1700002963a49da13542e0726b7bb758`, `F_53c3bce66e43be4f209556518c2fcb54`, `F_6883966fd8f918a4aa29be29d2c386fb`, `F_49182f81e6a13cf5eaa496d51fea6406`, `F_d296c101daa88a51f6ca8cfc1ac79b50`, `F_9fd81843ad7f202f26c1a174c7357585`, `F_26e359e83860db1d11b6acca57d8ea88`, `F_ef0d3930a7b6c95bd2b32ed45989c61f`, `F_94f6d7e04a4d452035300f18b984988c`, `F_34ed066df378efacc9b924ec161e7639`, `F_577bcc914f9e55d5e4e4f82f9f00e7d4`, `F_11b9842e0a271ff252c1903e7132cd68`, `F_37bc2f75bf1bcfe8450a1a41c200364c`, `F_496e05e1aea0a9c4655800e8a7b9ea28`, `F_b2eb7349035754953b57a32e2841bda5`, `F_8e98d81f8217304975ccb23337bb5761`, `F_a8c88a0055f636e4a163a5e3d16adab7`, `F_eddea82ad2755b24c4e168c5fc2ebd40`, `F_06eb61b839a0cefee4967c67ccb099dc`, `F_9dfcd5e558dfa04aaf37f137a1d9d3e5`, `F_950a4152c2b4aa3ad78bdd6b366cc179`, `F_158f3069a435b314a80bdcb024f8e422`, `F_758874998f5bd0c393da094e1967a72b`, `F_ad13a2a07ca4b7642959dc0c4c740ab6`, `F_3fe94a002317b5f9259f82690aeea4cd`, `F_5b8add2a5d98b1a652ea7fd72d942dac`, `F_432aca3a1e345e339f35a30c8f65edce`, `F_8d3bba7425e7c98c50f52ca1b52d3735`, `F_320722549d1751cf3f247855f937b982`, `F_caf1a3dfb505ffed0d024130f58c5cfa`, `F_5737c6ec2e0716f3d8a7a5c4e0de0d9a`, `F_bc6dc48b743dc5d013b1abaebd2faed2`, `F_f2fc990265c712c49d51a18a32b39f0c`, `F_89f0fd5c927d466d6ec9a21b9ac34ffa`, `F_a666587afda6e89aec274a3657558a27`, `F_b83aac23b9528732c23cc7352950e880`, `F_cd00692c3bfe59267d5ecfac5310286c`, `F_6faa8040da20ef399b63a72d0e4ab575`, `F_fe73f687e5bc5280214e0486b273a5f9`) VALUES (NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-drop table t1;
-#
-# Test for --add-drop-database
-#
-CREATE TABLE t1 (a int);
-INSERT INTO t1 VALUES (1),(2),(3);
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-
-/*!40000 DROP DATABASE IF EXISTS `test`*/;
-
-CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET latin1 */;
-
-USE `test`;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES (1),(2),(3);
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-DROP TABLE t1;
-#
-# Bug#9558 mysqldump --no-data db t1 t2 format still dumps data
-#
-CREATE DATABASE mysqldump_test_db;
-USE mysqldump_test_db;
-CREATE TABLE t1 ( a INT );
-CREATE TABLE t2 ( a INT );
-INSERT INTO t1 VALUES (1), (2);
-INSERT INTO t2 VALUES (1), (2);
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-DROP TABLE IF EXISTS `t2`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t2` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-DROP TABLE IF EXISTS `t2`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t2` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-<?xml version="1.0"?>
-<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-<database name="mysqldump_test_db">
-	<table_structure name="t1">
-		<field Field="a" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
-	</table_structure>
-	<table_structure name="t2">
-		<field Field="a" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
-	</table_structure>
-</database>
-</mysqldump>
-<?xml version="1.0"?>
-<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-<database name="mysqldump_test_db">
-	<table_structure name="t1">
-		<field Field="a" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
-	</table_structure>
-	<table_structure name="t2">
-		<field Field="a" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
-	</table_structure>
-</database>
-</mysqldump>
-DROP TABLE t1, t2;
-DROP DATABASE mysqldump_test_db;
-#
-#  Testing with tables and databases that don't exists
-#  or contains illegal characters
-# (Bug#9358 mysqldump crashes if tablename starts with \)
-#
-create database mysqldump_test_db;
-use mysqldump_test_db;
-create table t1(a varchar(30) primary key, b int not null);
-create table t2(a varchar(30) primary key, b int not null);
-create table t3(a varchar(30) primary key, b int not null);
-test_sequence
------- Testing with illegal table names ------
-mysqldump: Couldn't find table: "\d-2-1.sql"
-mysqldump: Couldn't find table: "\t1"
-mysqldump: Couldn't find table: "\t1"
-mysqldump: Couldn't find table: "\\t1"
-mysqldump: Couldn't find table: "t\1"
-mysqldump: Couldn't find table: "t\1"
-mysqldump: Couldn't find table: "t/1"
-mysqldump: Couldn't find table: "T_1"
-mysqldump: Couldn't find table: "T%1"
-mysqldump: Couldn't find table: "T'1"
-mysqldump: Couldn't find table: "T_1"
-mysqldump: Couldn't find table: "T_"
-test_sequence
------- Testing with illegal database names ------
-mysqldump: Got error: 1049: Unknown database 'mysqldump_test_d' when selecting the database
-mysqldump: Got error: 1049: Unknown database 'mysqld\ump_test_db' when selecting the database
-drop table t1, t2, t3;
-drop database mysqldump_test_db;
-use test;
-#
-# Bug#9657 mysqldump xml ( -x ) does not format NULL fields correctly
-#
-create table t1 (a int(10));
-create table t2 (pk int primary key auto_increment,
-a int(10), b varchar(30), c datetime, d blob, e text);
-insert into t1 values (NULL), (10), (20);
-insert into t2 (a, b) values (NULL, NULL),(10, NULL),(NULL, "twenty"),(30, "thirty");
-<?xml version="1.0"?>
-<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-<database name="test">
-	<table_data name="t1">
-	<row>
-		<field name="a" xsi:nil="true" />
-	</row>
-	<row>
-		<field name="a">10</field>
-	</row>
-	<row>
-		<field name="a">20</field>
-	</row>
-	</table_data>
-	<table_data name="t2">
-	<row>
-		<field name="pk">1</field>
-		<field name="a" xsi:nil="true" />
-		<field name="b" xsi:nil="true" />
-		<field name="c" xsi:nil="true" />
-		<field name="d" xsi:nil="true" />
-		<field name="e" xsi:nil="true" />
-	</row>
-	<row>
-		<field name="pk">2</field>
-		<field name="a">10</field>
-		<field name="b" xsi:nil="true" />
-		<field name="c" xsi:nil="true" />
-		<field name="d" xsi:nil="true" />
-		<field name="e" xsi:nil="true" />
-	</row>
-	<row>
-		<field name="pk">3</field>
-		<field name="a" xsi:nil="true" />
-		<field name="b">twenty</field>
-		<field name="c" xsi:nil="true" />
-		<field name="d" xsi:nil="true" />
-		<field name="e" xsi:nil="true" />
-	</row>
-	<row>
-		<field name="pk">4</field>
-		<field name="a">30</field>
-		<field name="b">thirty</field>
-		<field name="c" xsi:nil="true" />
-		<field name="d" xsi:nil="true" />
-		<field name="e" xsi:nil="true" />
-	</row>
-	</table_data>
-</database>
-</mysqldump>
-drop table t1, t2;
-#
-# Bug#12123 mysqldump --tab results in text file which can't be imported
-#
-create table t1 (a text character set utf8, b text character set latin1);
-insert t1 values (0x4F736E616272C3BC636B, 0x4BF66C6E);
-select * from t1;
-a	b
-Osnabrck	Kln
-test.t1: Records: 1  Deleted: 0  Skipped: 0  Warnings: 0
-select * from t1;
-a	b
-Osnabrck	Kln
-drop table t1;
-#
-# Bug#15328 Segmentation fault occured if my.cnf is invalid for escape sequence
-#
---fields-optionally-enclosed-by="
-#
-# Bug#19025 mysqldump doesn't correctly dump "auto_increment = [int]"
-#
-create table `t1` (
-t1_name varchar(255) default null,
-t1_id int(10) unsigned not null auto_increment,
-key (t1_name),
-primary key (t1_id)
-) auto_increment = 1000 default charset=latin1;
-insert into t1 (t1_name) values('bla');
-insert into t1 (t1_name) values('bla');
-insert into t1 (t1_name) values('bla');
-select * from t1;
-t1_name	t1_id
-bla	1000
-bla	1001
-bla	1002
-show create table `t1`;
-Table	Create Table
-t1	CREATE TABLE `t1` (
-  `t1_name` varchar(255) DEFAULT NULL,
-  `t1_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  PRIMARY KEY (`t1_id`),
-  KEY `t1_name` (`t1_name`)
-) ENGINE=MyISAM AUTO_INCREMENT=1003 DEFAULT CHARSET=latin1
-DROP TABLE `t1`;
-select * from t1;
-t1_name	t1_id
-bla	1000
-bla	1001
-bla	1002
-show create table `t1`;
-Table	Create Table
-t1	CREATE TABLE `t1` (
-  `t1_name` varchar(255) DEFAULT NULL,
-  `t1_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  PRIMARY KEY (`t1_id`),
-  KEY `t1_name` (`t1_name`)
-) ENGINE=MyISAM AUTO_INCREMENT=1003 DEFAULT CHARSET=latin1
-drop table `t1`;
-#
-# Bug#18536 wrong table order
-#
-create table t1(a int);
-create table t2(a int);
-create table t3(a int);
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t3`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t3` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-DROP TABLE IF EXISTS `t2`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t2` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-drop table t1, t2, t3;
-#
-# Bug#21288 mysqldump segmentation fault when using --where
-#
-create table t1 (a int);
-mysqldump: Couldn't execute 'SELECT /*!40001 SQL_NO_CACHE */ * FROM `t1` WHERE xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx': You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' at line 1 (1064)
-mysqldump: Got error: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' at line 1 when retrieving data from server
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-drop table t1;
-#
-# Bug#13926 --order-by-primary fails if PKEY contains quote character
-#
-DROP TABLE IF EXISTS `t1`;
-CREATE TABLE `t1` (
-`a b` INT,
-`c"d` INT,
-`e``f` INT,
-PRIMARY KEY (`a b`, `c"d`, `e``f`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-insert into t1 values (0815, 4711, 2006);
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,ANSI' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS "t1";
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE "t1" (
-  "a b" int(11) NOT NULL DEFAULT '0',
-  "c""d" int(11) NOT NULL DEFAULT '0',
-  "e`f" int(11) NOT NULL DEFAULT '0',
-  PRIMARY KEY ("a b","c""d","e`f")
-);
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES "t1" WRITE;
-/*!40000 ALTER TABLE "t1" DISABLE KEYS */;
-INSERT INTO "t1" VALUES (815,4711,2006);
-/*!40000 ALTER TABLE "t1" ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a b` int(11) NOT NULL DEFAULT '0',
-  `c"d` int(11) NOT NULL DEFAULT '0',
-  `e``f` int(11) NOT NULL DEFAULT '0',
-  PRIMARY KEY (`a b`,`c"d`,`e``f`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES (815,4711,2006);
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-DROP TABLE `t1`;
-End of 4.1 tests
-#
-# Bug#10213 mysqldump crashes when dumping VIEWs(on MacOS X)
-#
-create database db1;
-use db1;
-CREATE TABLE t2 (
-a varchar(30) default NULL,
-KEY a (a(5))
-);
-INSERT INTO t2 VALUES ('alfred');
-INSERT INTO t2 VALUES ('angie');
-INSERT INTO t2 VALUES ('bingo');
-INSERT INTO t2 VALUES ('waffle');
-INSERT INTO t2 VALUES ('lemon');
-create view v2 as select * from t2 where a like 'a%' with check option;
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t2`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t2` (
-  `a` varchar(30) DEFAULT NULL,
-  KEY `a` (`a`(5))
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t2` WRITE;
-/*!40000 ALTER TABLE `t2` DISABLE KEYS */;
-INSERT INTO `t2` VALUES ('alfred'),('angie'),('bingo'),('waffle'),('lemon');
-/*!40000 ALTER TABLE `t2` ENABLE KEYS */;
-UNLOCK TABLES;
-DROP TABLE IF EXISTS `v2`;
-/*!50001 DROP VIEW IF EXISTS `v2`*/;
-SET @saved_cs_client     = @@character_set_client;
-SET character_set_client = utf8;
-/*!50001 CREATE TABLE `v2` (
-  `a` varchar(30)
-) ENGINE=MyISAM */;
-SET character_set_client = @saved_cs_client;
-/*!50001 DROP TABLE IF EXISTS `v2`*/;
-/*!50001 DROP VIEW IF EXISTS `v2`*/;
-/*!50001 SET @saved_cs_client          = @@character_set_client */;
-/*!50001 SET @saved_cs_results         = @@character_set_results */;
-/*!50001 SET @saved_col_connection     = @@collation_connection */;
-/*!50001 SET character_set_client      = latin1 */;
-/*!50001 SET character_set_results     = latin1 */;
-/*!50001 SET collation_connection      = latin1_swedish_ci */;
-/*!50001 CREATE ALGORITHM=UNDEFINED */
-/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
-/*!50001 VIEW `v2` AS select `t2`.`a` AS `a` from `t2` where (`t2`.`a` like 'a%') */
-/*!50002 WITH CASCADED CHECK OPTION */;
-/*!50001 SET character_set_client      = @saved_cs_client */;
-/*!50001 SET character_set_results     = @saved_cs_results */;
-/*!50001 SET collation_connection      = @saved_col_connection */;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-drop table t2;
-drop view v2;
-drop database db1;
-use test;
-#
-# Bug#10713 mysqldump includes database in create view and referenced tables
-#
-create database db2;
-use db2;
-create table t1 (a int);
-create table t2 (a int, b varchar(10), primary key(a));
-insert into t2 values (1, "on"), (2, "off"), (10, "pol"), (12, "meg");
-insert into t1 values (289), (298), (234), (456), (789);
-create view v1 as select * from t2;
-create view v2 as select * from t1;
-drop table t1, t2;
-drop view v1, v2;
-drop database db2;
-use test;
-create database db1;
-use db1;
-show tables;
-Tables_in_db1
-t1
-t2
-v1
-v2
-select * from t2 order by a;
-a	b
-1	on
-2	off
-10	pol
-12	meg
-drop table t1, t2;
-drop database db1;
-use test;
-create table t1(a int);
-create view v1 as select * from t1;
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-DROP TABLE IF EXISTS `v1`;
-/*!50001 DROP VIEW IF EXISTS `v1`*/;
-SET @saved_cs_client     = @@character_set_client;
-SET character_set_client = utf8;
-/*!50001 CREATE TABLE `v1` (
-  `a` int(11)
-) ENGINE=MyISAM */;
-SET character_set_client = @saved_cs_client;
-/*!50001 DROP TABLE IF EXISTS `v1`*/;
-/*!50001 DROP VIEW IF EXISTS `v1`*/;
-/*!50001 SET @saved_cs_client          = @@character_set_client */;
-/*!50001 SET @saved_cs_results         = @@character_set_results */;
-/*!50001 SET @saved_col_connection     = @@collation_connection */;
-/*!50001 SET character_set_client      = latin1 */;
-/*!50001 SET character_set_results     = latin1 */;
-/*!50001 SET collation_connection      = latin1_swedish_ci */;
-/*!50001 CREATE ALGORITHM=UNDEFINED */
-/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
-/*!50001 VIEW `v1` AS select `t1`.`a` AS `a` from `t1` */;
-/*!50001 SET character_set_client      = @saved_cs_client */;
-/*!50001 SET character_set_results     = @saved_cs_results */;
-/*!50001 SET collation_connection      = @saved_col_connection */;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-drop view v1;
-drop table t1;
-#
-# Bug#10213 mysqldump crashes when dumping VIEWs(on MacOS X)
-#
-create database mysqldump_test_db;
-use mysqldump_test_db;
-CREATE TABLE t2 (
-a varchar(30) default NULL,
-KEY a (a(5))
-);
-INSERT INTO t2 VALUES ('alfred');
-INSERT INTO t2 VALUES ('angie');
-INSERT INTO t2 VALUES ('bingo');
-INSERT INTO t2 VALUES ('waffle');
-INSERT INTO t2 VALUES ('lemon');
-create view v2 as select * from t2 where a like 'a%' with check option;
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t2`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t2` (
-  `a` varchar(30) DEFAULT NULL,
-  KEY `a` (`a`(5))
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t2` WRITE;
-/*!40000 ALTER TABLE `t2` DISABLE KEYS */;
-INSERT INTO `t2` VALUES ('alfred'),('angie'),('bingo'),('waffle'),('lemon');
-/*!40000 ALTER TABLE `t2` ENABLE KEYS */;
-UNLOCK TABLES;
-DROP TABLE IF EXISTS `v2`;
-/*!50001 DROP VIEW IF EXISTS `v2`*/;
-SET @saved_cs_client     = @@character_set_client;
-SET character_set_client = utf8;
-/*!50001 CREATE TABLE `v2` (
-  `a` varchar(30)
-) ENGINE=MyISAM */;
-SET character_set_client = @saved_cs_client;
-/*!50001 DROP TABLE IF EXISTS `v2`*/;
-/*!50001 DROP VIEW IF EXISTS `v2`*/;
-/*!50001 SET @saved_cs_client          = @@character_set_client */;
-/*!50001 SET @saved_cs_results         = @@character_set_results */;
-/*!50001 SET @saved_col_connection     = @@collation_connection */;
-/*!50001 SET character_set_client      = latin1 */;
-/*!50001 SET character_set_results     = latin1 */;
-/*!50001 SET collation_connection      = latin1_swedish_ci */;
-/*!50001 CREATE ALGORITHM=UNDEFINED */
-/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
-/*!50001 VIEW `v2` AS select `t2`.`a` AS `a` from `t2` where (`t2`.`a` like 'a%') */
-/*!50002 WITH CASCADED CHECK OPTION */;
-/*!50001 SET character_set_client      = @saved_cs_client */;
-/*!50001 SET character_set_results     = @saved_cs_results */;
-/*!50001 SET collation_connection      = @saved_col_connection */;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-drop table t2;
-drop view v2;
-drop database mysqldump_test_db;
-use test;
-#
-# Bug#9756 mysql client failing on dumps containing certain \ sequences
-#
-CREATE TABLE t1 (a char(10));
-INSERT INTO t1 VALUES ('\'');
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` char(10) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES ('\'');
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-DROP TABLE t1;
-#
-# Bug#10927 mysqldump: Can't reload dump with view that consist of other view
-#
-create table t1(a int, b int, c varchar(30));
-insert into t1 values(1, 2, "one"), (2, 4, "two"), (3, 6, "three");
-create view v3 as
-select * from t1;
-create  view v1 as
-select * from v3 where b in (1, 2, 3, 4, 5, 6, 7);
-create  view v2 as
-select v3.a from v3, v1 where v1.a=v3.a and v3.b=3 limit 1;
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL,
-  `b` int(11) DEFAULT NULL,
-  `c` varchar(30) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES (1,2,'one'),(2,4,'two'),(3,6,'three');
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-DROP TABLE IF EXISTS `v1`;
-/*!50001 DROP VIEW IF EXISTS `v1`*/;
-SET @saved_cs_client     = @@character_set_client;
-SET character_set_client = utf8;
-/*!50001 CREATE TABLE `v1` (
-  `a` int(11),
-  `b` int(11),
-  `c` varchar(30)
-) ENGINE=MyISAM */;
-SET character_set_client = @saved_cs_client;
-DROP TABLE IF EXISTS `v2`;
-/*!50001 DROP VIEW IF EXISTS `v2`*/;
-SET @saved_cs_client     = @@character_set_client;
-SET character_set_client = utf8;
-/*!50001 CREATE TABLE `v2` (
-  `a` int(11)
-) ENGINE=MyISAM */;
-SET character_set_client = @saved_cs_client;
-DROP TABLE IF EXISTS `v3`;
-/*!50001 DROP VIEW IF EXISTS `v3`*/;
-SET @saved_cs_client     = @@character_set_client;
-SET character_set_client = utf8;
-/*!50001 CREATE TABLE `v3` (
-  `a` int(11),
-  `b` int(11),
-  `c` varchar(30)
-) ENGINE=MyISAM */;
-SET character_set_client = @saved_cs_client;
-/*!50001 DROP TABLE IF EXISTS `v1`*/;
-/*!50001 DROP VIEW IF EXISTS `v1`*/;
-/*!50001 SET @saved_cs_client          = @@character_set_client */;
-/*!50001 SET @saved_cs_results         = @@character_set_results */;
-/*!50001 SET @saved_col_connection     = @@collation_connection */;
-/*!50001 SET character_set_client      = latin1 */;
-/*!50001 SET character_set_results     = latin1 */;
-/*!50001 SET collation_connection      = latin1_swedish_ci */;
-/*!50001 CREATE ALGORITHM=UNDEFINED */
-/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
-/*!50001 VIEW `v1` AS select `v3`.`a` AS `a`,`v3`.`b` AS `b`,`v3`.`c` AS `c` from `v3` where (`v3`.`b` in (1,2,3,4,5,6,7)) */;
-/*!50001 SET character_set_client      = @saved_cs_client */;
-/*!50001 SET character_set_results     = @saved_cs_results */;
-/*!50001 SET collation_connection      = @saved_col_connection */;
-/*!50001 DROP TABLE IF EXISTS `v2`*/;
-/*!50001 DROP VIEW IF EXISTS `v2`*/;
-/*!50001 SET @saved_cs_client          = @@character_set_client */;
-/*!50001 SET @saved_cs_results         = @@character_set_results */;
-/*!50001 SET @saved_col_connection     = @@collation_connection */;
-/*!50001 SET character_set_client      = latin1 */;
-/*!50001 SET character_set_results     = latin1 */;
-/*!50001 SET collation_connection      = latin1_swedish_ci */;
-/*!50001 CREATE ALGORITHM=UNDEFINED */
-/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
-/*!50001 VIEW `v2` AS select `v3`.`a` AS `a` from (`v3` join `v1`) where ((`v1`.`a` = `v3`.`a`) and (`v3`.`b` = 3)) limit 1 */;
-/*!50001 SET character_set_client      = @saved_cs_client */;
-/*!50001 SET character_set_results     = @saved_cs_results */;
-/*!50001 SET collation_connection      = @saved_col_connection */;
-/*!50001 DROP TABLE IF EXISTS `v3`*/;
-/*!50001 DROP VIEW IF EXISTS `v3`*/;
-/*!50001 SET @saved_cs_client          = @@character_set_client */;
-/*!50001 SET @saved_cs_results         = @@character_set_results */;
-/*!50001 SET @saved_col_connection     = @@collation_connection */;
-/*!50001 SET character_set_client      = latin1 */;
-/*!50001 SET character_set_results     = latin1 */;
-/*!50001 SET collation_connection      = latin1_swedish_ci */;
-/*!50001 CREATE ALGORITHM=UNDEFINED */
-/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
-/*!50001 VIEW `v3` AS select `t1`.`a` AS `a`,`t1`.`b` AS `b`,`t1`.`c` AS `c` from `t1` */;
-/*!50001 SET character_set_client      = @saved_cs_client */;
-/*!50001 SET character_set_results     = @saved_cs_results */;
-/*!50001 SET collation_connection      = @saved_col_connection */;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-drop view v1, v2, v3;
-drop table t1;
-#
-# Test for dumping triggers
-#
-CREATE TABLE t1 (a int, b bigint default NULL);
-CREATE TABLE t2 (a int);
-create trigger trg1 before insert on t1 for each row
-begin
-if new.a > 10 then
-set new.a := 10;
-set new.a := 11;
-end if;
-end|
-create trigger trg2 before update on t1 for each row begin
-if old.a % 2 = 0 then set new.b := 12; end if;
-end|
-set sql_mode="traditional"|
-create trigger trg3 after update on t1 for each row
-begin
-if new.a = -1 then
-set @fired:= "Yes";
-end if;
-end|
-create trigger trg4 before insert on t2 for each row
-begin
-if new.a > 10 then
-set @fired:= "No";
-end if;
-end|
-set sql_mode=default|
-show triggers like "t1";
-Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer	character_set_client	collation_connection	Database Collation
-trg1	INSERT	t1	begin
-if new.a > 10 then
-set new.a := 10;
-set new.a := 11;
-end if;
-end	BEFORE	0000-00-00 00:00:00		root@localhost	latin1	latin1_swedish_ci	latin1_swedish_ci
-trg2	UPDATE	t1	begin
-if old.a % 2 = 0 then set new.b := 12; end if;
-end	BEFORE	0000-00-00 00:00:00		root@localhost	latin1	latin1_swedish_ci	latin1_swedish_ci
-trg3	UPDATE	t1	begin
-if new.a = -1 then
-set @fired:= "Yes";
-end if;
-end	AFTER	0000-00-00 00:00:00	STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION	root@localhost	latin1	latin1_swedish_ci	latin1_swedish_ci
-INSERT INTO t1 (a) VALUES (1),(2),(3),(22);
-update t1 set a = 4 where a=3;
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-
-CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET latin1 */;
-
-USE `test`;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL,
-  `b` bigint(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES (1,NULL),(2,NULL),(4,NULL),(11,NULL);
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!50003 SET @saved_cs_client      = @@character_set_client */ ;
-/*!50003 SET @saved_cs_results     = @@character_set_results */ ;
-/*!50003 SET @saved_col_connection = @@collation_connection */ ;
-/*!50003 SET character_set_client  = latin1 */ ;
-/*!50003 SET character_set_results = latin1 */ ;
-/*!50003 SET collation_connection  = latin1_swedish_ci */ ;
-/*!50003 SET @saved_sql_mode       = @@sql_mode */ ;
-/*!50003 SET sql_mode              = '' */ ;
-DELIMITER ;;
-/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 trigger trg1 before insert on t1 for each row
-begin
-if new.a > 10 then
-set new.a := 10;
-set new.a := 11;
-end if;
-end */;;
-DELIMITER ;
-/*!50003 SET sql_mode              = @saved_sql_mode */ ;
-/*!50003 SET character_set_client  = @saved_cs_client */ ;
-/*!50003 SET character_set_results = @saved_cs_results */ ;
-/*!50003 SET collation_connection  = @saved_col_connection */ ;
-/*!50003 SET @saved_cs_client      = @@character_set_client */ ;
-/*!50003 SET @saved_cs_results     = @@character_set_results */ ;
-/*!50003 SET @saved_col_connection = @@collation_connection */ ;
-/*!50003 SET character_set_client  = latin1 */ ;
-/*!50003 SET character_set_results = latin1 */ ;
-/*!50003 SET collation_connection  = latin1_swedish_ci */ ;
-/*!50003 SET @saved_sql_mode       = @@sql_mode */ ;
-/*!50003 SET sql_mode              = '' */ ;
-DELIMITER ;;
-/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 trigger trg2 before update on t1 for each row begin
-if old.a % 2 = 0 then set new.b := 12; end if;
-end */;;
-DELIMITER ;
-/*!50003 SET sql_mode              = @saved_sql_mode */ ;
-/*!50003 SET character_set_client  = @saved_cs_client */ ;
-/*!50003 SET character_set_results = @saved_cs_results */ ;
-/*!50003 SET collation_connection  = @saved_col_connection */ ;
-/*!50003 SET @saved_cs_client      = @@character_set_client */ ;
-/*!50003 SET @saved_cs_results     = @@character_set_results */ ;
-/*!50003 SET @saved_col_connection = @@collation_connection */ ;
-/*!50003 SET character_set_client  = latin1 */ ;
-/*!50003 SET character_set_results = latin1 */ ;
-/*!50003 SET collation_connection  = latin1_swedish_ci */ ;
-/*!50003 SET @saved_sql_mode       = @@sql_mode */ ;
-/*!50003 SET sql_mode              = 'STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
-DELIMITER ;;
-/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 trigger trg3 after update on t1 for each row
-begin
-if new.a = -1 then
-set @fired:= "Yes";
-end if;
-end */;;
-DELIMITER ;
-/*!50003 SET sql_mode              = @saved_sql_mode */ ;
-/*!50003 SET character_set_client  = @saved_cs_client */ ;
-/*!50003 SET character_set_results = @saved_cs_results */ ;
-/*!50003 SET collation_connection  = @saved_col_connection */ ;
-DROP TABLE IF EXISTS `t2`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t2` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t2` WRITE;
-/*!40000 ALTER TABLE `t2` DISABLE KEYS */;
-/*!40000 ALTER TABLE `t2` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!50003 SET @saved_cs_client      = @@character_set_client */ ;
-/*!50003 SET @saved_cs_results     = @@character_set_results */ ;
-/*!50003 SET @saved_col_connection = @@collation_connection */ ;
-/*!50003 SET character_set_client  = latin1 */ ;
-/*!50003 SET character_set_results = latin1 */ ;
-/*!50003 SET collation_connection  = latin1_swedish_ci */ ;
-/*!50003 SET @saved_sql_mode       = @@sql_mode */ ;
-/*!50003 SET sql_mode              = 'STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
-DELIMITER ;;
-/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 trigger trg4 before insert on t2 for each row
-begin
-if new.a > 10 then
-set @fired:= "No";
-end if;
-end */;;
-DELIMITER ;
-/*!50003 SET sql_mode              = @saved_sql_mode */ ;
-/*!50003 SET character_set_client  = @saved_cs_client */ ;
-/*!50003 SET character_set_results = @saved_cs_results */ ;
-/*!50003 SET collation_connection  = @saved_col_connection */ ;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-
-CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET latin1 */;
-
-USE `test`;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL,
-  `b` bigint(20) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES (1,NULL),(2,NULL),(4,NULL),(11,NULL);
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-DROP TABLE IF EXISTS `t2`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t2` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t2` WRITE;
-/*!40000 ALTER TABLE `t2` DISABLE KEYS */;
-/*!40000 ALTER TABLE `t2` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-drop table t1;
-show tables;
-Tables_in_test
-t1
-t2
-show triggers;
-Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer	character_set_client	collation_connection	Database Collation
-trg1	INSERT	t1	begin
-if new.a > 10 then
-set new.a := 10;
-set new.a := 11;
-end if;
-end	BEFORE	#		root@localhost	latin1	latin1_swedish_ci	latin1_swedish_ci
-trg2	UPDATE	t1	begin
-if old.a % 2 = 0 then set new.b := 12; end if;
-end	BEFORE	#		root@localhost	latin1	latin1_swedish_ci	latin1_swedish_ci
-trg3	UPDATE	t1	begin
-if new.a = -1 then
-set @fired:= "Yes";
-end if;
-end	AFTER	#	STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION	root@localhost	latin1	latin1_swedish_ci	latin1_swedish_ci
-trg4	INSERT	t2	begin
-if new.a > 10 then
-set @fired:= "No";
-end if;
-end	BEFORE	#	STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION	root@localhost	latin1	latin1_swedish_ci	latin1_swedish_ci
-DROP TABLE t1, t2;
-#
-# Bug#9136  my_print_defaults changed behaviour between 4.1.7 and 4.1.10a
-# Bug#12917 The --defaults-extra-file option is ignored by the 5.0 client binaries
-# (Problems with --defaults-extra-file option)
-#
---port=1234
---port=1234
-#
-# Test of fix to Bug#12597 mysqldump dumps triggers wrongly
-#
-DROP TABLE IF EXISTS `test1`;
-Warnings:
-Note	1051	Unknown table 'test1'
-CREATE TABLE `test1` (
-`a1` int(11) default NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-DROP TABLE IF EXISTS `test2`;
-Warnings:
-Note	1051	Unknown table 'test2'
-CREATE TABLE `test2` (
-`a2` int(11) default NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-CREATE TRIGGER `testref` BEFORE INSERT ON `test1` FOR EACH ROW BEGIN
-INSERT INTO test2 SET a2 = NEW.a1; END  //
-INSERT INTO `test1` VALUES (1);
-SELECT * FROM `test2`;
-a2
-1
-SHOW TRIGGERS;
-Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer	character_set_client	collation_connection	Database Collation
-testref	INSERT	test1	BEGIN
-INSERT INTO test2 SET a2 = NEW.a1; END	BEFORE	NULL		root@localhost	latin1	latin1_swedish_ci	latin1_swedish_ci
-SELECT * FROM `test1`;
-a1
-1
-SELECT * FROM `test2`;
-a2
-1
-DROP TRIGGER testref;
-DROP TABLE test1;
-DROP TABLE test2;
-#
-# Bug#9056 mysqldump does not dump routines
-#
-DROP TABLE IF EXISTS t1;
-DROP FUNCTION IF EXISTS bug9056_func1;
-DROP FUNCTION IF EXISTS bug9056_func2;
-DROP PROCEDURE IF EXISTS bug9056_proc1;
-DROP PROCEDURE IF EXISTS bug9056_proc2;
-DROP PROCEDURE IF EXISTS `a'b`;
-CREATE TABLE t1 (id int);
-INSERT INTO t1 VALUES(1), (2), (3), (4), (5);
-CREATE FUNCTION `bug9056_func1`(a INT, b INT) RETURNS int(11) RETURN a+b //
-CREATE PROCEDURE `bug9056_proc1`(IN a INT, IN b INT, OUT c INT)
-BEGIN SELECT a+b INTO c; end  //
-create function bug9056_func2(f1 char binary) returns char
-begin
-set f1= concat( 'hello', f1 );
-return f1;
-end //
-CREATE PROCEDURE bug9056_proc2(OUT a INT)
-BEGIN
-select sum(id) from t1 into a;
-END //
-set sql_mode='ansi';
-create procedure `a'b` () select 1;
-set sql_mode='';
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-
-CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET latin1 */;
-
-USE `test`;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `id` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES (1),(2),(3),(4),(5);
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!50003 DROP FUNCTION IF EXISTS `bug9056_func1` */;
-/*!50003 SET @saved_cs_client      = @@character_set_client */ ;
-/*!50003 SET @saved_cs_results     = @@character_set_results */ ;
-/*!50003 SET @saved_col_connection = @@collation_connection */ ;
-/*!50003 SET character_set_client  = latin1 */ ;
-/*!50003 SET character_set_results = latin1 */ ;
-/*!50003 SET collation_connection  = latin1_swedish_ci */ ;
-/*!50003 SET @saved_sql_mode       = @@sql_mode */ ;
-/*!50003 SET sql_mode              = '' */ ;
-DELIMITER ;;
-/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 FUNCTION `bug9056_func1`(a INT, b INT) RETURNS int(11)
-RETURN a+b */;;
-DELIMITER ;
-/*!50003 SET sql_mode              = @saved_sql_mode */ ;
-/*!50003 SET character_set_client  = @saved_cs_client */ ;
-/*!50003 SET character_set_results = @saved_cs_results */ ;
-/*!50003 SET collation_connection  = @saved_col_connection */ ;
-/*!50003 DROP FUNCTION IF EXISTS `bug9056_func2` */;
-/*!50003 SET @saved_cs_client      = @@character_set_client */ ;
-/*!50003 SET @saved_cs_results     = @@character_set_results */ ;
-/*!50003 SET @saved_col_connection = @@collation_connection */ ;
-/*!50003 SET character_set_client  = latin1 */ ;
-/*!50003 SET character_set_results = latin1 */ ;
-/*!50003 SET collation_connection  = latin1_swedish_ci */ ;
-/*!50003 SET @saved_sql_mode       = @@sql_mode */ ;
-/*!50003 SET sql_mode              = '' */ ;
-DELIMITER ;;
-/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 FUNCTION `bug9056_func2`(f1 char binary) RETURNS char(1) CHARSET latin1
-begin
-set f1= concat( 'hello', f1 );
-return f1;
-end */;;
-DELIMITER ;
-/*!50003 SET sql_mode              = @saved_sql_mode */ ;
-/*!50003 SET character_set_client  = @saved_cs_client */ ;
-/*!50003 SET character_set_results = @saved_cs_results */ ;
-/*!50003 SET collation_connection  = @saved_col_connection */ ;
-/*!50003 DROP PROCEDURE IF EXISTS `a'b` */;
-/*!50003 SET @saved_cs_client      = @@character_set_client */ ;
-/*!50003 SET @saved_cs_results     = @@character_set_results */ ;
-/*!50003 SET @saved_col_connection = @@collation_connection */ ;
-/*!50003 SET character_set_client  = latin1 */ ;
-/*!50003 SET character_set_results = latin1 */ ;
-/*!50003 SET collation_connection  = latin1_swedish_ci */ ;
-/*!50003 SET @saved_sql_mode       = @@sql_mode */ ;
-/*!50003 SET sql_mode              = 'REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI' */ ;
-DELIMITER ;;
-/*!50003 CREATE*/ /*!50020 DEFINER="root"@"localhost"*/ /*!50003 PROCEDURE "a'b"()
-select 1 */;;
-DELIMITER ;
-/*!50003 SET sql_mode              = @saved_sql_mode */ ;
-/*!50003 SET character_set_client  = @saved_cs_client */ ;
-/*!50003 SET character_set_results = @saved_cs_results */ ;
-/*!50003 SET collation_connection  = @saved_col_connection */ ;
-/*!50003 DROP PROCEDURE IF EXISTS `bug9056_proc1` */;
-/*!50003 SET @saved_cs_client      = @@character_set_client */ ;
-/*!50003 SET @saved_cs_results     = @@character_set_results */ ;
-/*!50003 SET @saved_col_connection = @@collation_connection */ ;
-/*!50003 SET character_set_client  = latin1 */ ;
-/*!50003 SET character_set_results = latin1 */ ;
-/*!50003 SET collation_connection  = latin1_swedish_ci */ ;
-/*!50003 SET @saved_sql_mode       = @@sql_mode */ ;
-/*!50003 SET sql_mode              = '' */ ;
-DELIMITER ;;
-/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 PROCEDURE `bug9056_proc1`(IN a INT, IN b INT, OUT c INT)
-BEGIN SELECT a+b INTO c; end */;;
-DELIMITER ;
-/*!50003 SET sql_mode              = @saved_sql_mode */ ;
-/*!50003 SET character_set_client  = @saved_cs_client */ ;
-/*!50003 SET character_set_results = @saved_cs_results */ ;
-/*!50003 SET collation_connection  = @saved_col_connection */ ;
-/*!50003 DROP PROCEDURE IF EXISTS `bug9056_proc2` */;
-/*!50003 SET @saved_cs_client      = @@character_set_client */ ;
-/*!50003 SET @saved_cs_results     = @@character_set_results */ ;
-/*!50003 SET @saved_col_connection = @@collation_connection */ ;
-/*!50003 SET character_set_client  = latin1 */ ;
-/*!50003 SET character_set_results = latin1 */ ;
-/*!50003 SET collation_connection  = latin1_swedish_ci */ ;
-/*!50003 SET @saved_sql_mode       = @@sql_mode */ ;
-/*!50003 SET sql_mode              = '' */ ;
-DELIMITER ;;
-/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 PROCEDURE `bug9056_proc2`(OUT a INT)
-BEGIN
-select sum(id) from t1 into a;
-END */;;
-DELIMITER ;
-/*!50003 SET sql_mode              = @saved_sql_mode */ ;
-/*!50003 SET character_set_client  = @saved_cs_client */ ;
-/*!50003 SET character_set_results = @saved_cs_results */ ;
-/*!50003 SET collation_connection  = @saved_col_connection */ ;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-DROP FUNCTION bug9056_func1;
-DROP FUNCTION bug9056_func2;
-DROP PROCEDURE bug9056_proc1;
-DROP PROCEDURE bug9056_proc2;
-DROP PROCEDURE `a'b`;
-drop table t1;
-#
-# Bug#13052 mysqldump timestamp reloads broken
-#
-drop table if exists t1;
-create table t1 (`d` timestamp, unique (`d`));
-set time_zone='+00:00';
-insert into t1 values ('2003-10-25 22:00:00'),('2003-10-25 23:00:00');
-select * from t1;
-d
-2003-10-25 22:00:00
-2003-10-25 23:00:00
-set time_zone='Europe/Moscow';
-select * from t1;
-d
-2003-10-26 02:00:00
-2003-10-26 02:00:00
-set global time_zone='Europe/Moscow';
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-
-CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET latin1 */;
-
-USE `test`;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `d` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-  UNIQUE KEY `d` (`d`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES ('2003-10-25 22:00:00'),('2003-10-25 23:00:00');
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-
-CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET latin1 */;
-
-USE `test`;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `d` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-  UNIQUE KEY `d` (`d`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES ('2003-10-26 02:00:00'),('2003-10-26 02:00:00');
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-drop table t1;
-set global time_zone=default;
-set time_zone=default;
-#
-# Test of fix to Bug#13146 ansi quotes break loading of triggers
-#
-DROP TABLE IF EXISTS `t1 test`;
-DROP TABLE IF EXISTS `t2 test`;
-CREATE TABLE `t1 test` (
-`a1` int(11) default NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-CREATE TABLE `t2 test` (
-`a2` int(11) default NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-CREATE TRIGGER `test trig` BEFORE INSERT ON `t1 test` FOR EACH ROW BEGIN
-INSERT INTO `t2 test` SET a2 = NEW.a1; END  //
-INSERT INTO `t1 test` VALUES (1);
-INSERT INTO `t1 test` VALUES (2);
-INSERT INTO `t1 test` VALUES (3);
-SELECT * FROM `t2 test`;
-a2
-1
-2
-3
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,ANSI' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS "t1 test";
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE "t1 test" (
-  "a1" int(11) DEFAULT NULL
-);
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES "t1 test" WRITE;
-/*!40000 ALTER TABLE "t1 test" DISABLE KEYS */;
-INSERT INTO "t1 test" VALUES (1),(2),(3);
-/*!40000 ALTER TABLE "t1 test" ENABLE KEYS */;
-UNLOCK TABLES;
-/*!50003 SET @saved_cs_client      = @@character_set_client */ ;
-/*!50003 SET @saved_cs_results     = @@character_set_results */ ;
-/*!50003 SET @saved_col_connection = @@collation_connection */ ;
-/*!50003 SET character_set_client  = latin1 */ ;
-/*!50003 SET character_set_results = latin1 */ ;
-/*!50003 SET collation_connection  = latin1_swedish_ci */ ;
-/*!50003 SET @saved_sql_mode       = @@sql_mode */ ;
-/*!50003 SET sql_mode              = '' */ ;
-DELIMITER ;;
-/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `test trig` BEFORE INSERT ON `t1 test` FOR EACH ROW BEGIN
-INSERT INTO `t2 test` SET a2 = NEW.a1; END */;;
-DELIMITER ;
-/*!50003 SET sql_mode              = @saved_sql_mode */ ;
-/*!50003 SET character_set_client  = @saved_cs_client */ ;
-/*!50003 SET character_set_results = @saved_cs_results */ ;
-/*!50003 SET collation_connection  = @saved_col_connection */ ;
-DROP TABLE IF EXISTS "t2 test";
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE "t2 test" (
-  "a2" int(11) DEFAULT NULL
-);
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES "t2 test" WRITE;
-/*!40000 ALTER TABLE "t2 test" DISABLE KEYS */;
-INSERT INTO "t2 test" VALUES (1),(2),(3);
-/*!40000 ALTER TABLE "t2 test" ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-DROP TRIGGER `test trig`;
-DROP TABLE `t1 test`;
-DROP TABLE `t2 test`;
-#
-# Bug#12838 mysqldump -x with views exits with error
-#
-drop table if exists t1;
-create table t1 (a int, b varchar(32), c varchar(32));
-insert into t1 values (1, 'first value', 'xxxx');
-insert into t1 values (2, 'second value', 'tttt');
-insert into t1 values (3, 'third value', 'vvv vvv');
-create view v1 as select * from t1;
-create view v0 as select * from v1;
-create view v2 as select * from v0;
-select * from v2;
-a	b	c
-1	first value	xxxx
-2	second value	tttt
-3	third value	vvv vvv
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-
-CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET latin1 */;
-
-USE `test`;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL,
-  `b` varchar(32) DEFAULT NULL,
-  `c` varchar(32) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES (1,'first value','xxxx'),(2,'second value','tttt'),(3,'third value','vvv vvv');
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-DROP TABLE IF EXISTS `v0`;
-/*!50001 DROP VIEW IF EXISTS `v0`*/;
-SET @saved_cs_client     = @@character_set_client;
-SET character_set_client = utf8;
-/*!50001 CREATE TABLE `v0` (
-  `a` int(11),
-  `b` varchar(32),
-  `c` varchar(32)
-) ENGINE=MyISAM */;
-SET character_set_client = @saved_cs_client;
-DROP TABLE IF EXISTS `v1`;
-/*!50001 DROP VIEW IF EXISTS `v1`*/;
-SET @saved_cs_client     = @@character_set_client;
-SET character_set_client = utf8;
-/*!50001 CREATE TABLE `v1` (
-  `a` int(11),
-  `b` varchar(32),
-  `c` varchar(32)
-) ENGINE=MyISAM */;
-SET character_set_client = @saved_cs_client;
-DROP TABLE IF EXISTS `v2`;
-/*!50001 DROP VIEW IF EXISTS `v2`*/;
-SET @saved_cs_client     = @@character_set_client;
-SET character_set_client = utf8;
-/*!50001 CREATE TABLE `v2` (
-  `a` int(11),
-  `b` varchar(32),
-  `c` varchar(32)
-) ENGINE=MyISAM */;
-SET character_set_client = @saved_cs_client;
-
-USE `test`;
-/*!50001 DROP TABLE IF EXISTS `v0`*/;
-/*!50001 DROP VIEW IF EXISTS `v0`*/;
-/*!50001 SET @saved_cs_client          = @@character_set_client */;
-/*!50001 SET @saved_cs_results         = @@character_set_results */;
-/*!50001 SET @saved_col_connection     = @@collation_connection */;
-/*!50001 SET character_set_client      = latin1 */;
-/*!50001 SET character_set_results     = latin1 */;
-/*!50001 SET collation_connection      = latin1_swedish_ci */;
-/*!50001 CREATE ALGORITHM=UNDEFINED */
-/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
-/*!50001 VIEW `v0` AS select `v1`.`a` AS `a`,`v1`.`b` AS `b`,`v1`.`c` AS `c` from `v1` */;
-/*!50001 SET character_set_client      = @saved_cs_client */;
-/*!50001 SET character_set_results     = @saved_cs_results */;
-/*!50001 SET collation_connection      = @saved_col_connection */;
-/*!50001 DROP TABLE IF EXISTS `v1`*/;
-/*!50001 DROP VIEW IF EXISTS `v1`*/;
-/*!50001 SET @saved_cs_client          = @@character_set_client */;
-/*!50001 SET @saved_cs_results         = @@character_set_results */;
-/*!50001 SET @saved_col_connection     = @@collation_connection */;
-/*!50001 SET character_set_client      = latin1 */;
-/*!50001 SET character_set_results     = latin1 */;
-/*!50001 SET collation_connection      = latin1_swedish_ci */;
-/*!50001 CREATE ALGORITHM=UNDEFINED */
-/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
-/*!50001 VIEW `v1` AS select `t1`.`a` AS `a`,`t1`.`b` AS `b`,`t1`.`c` AS `c` from `t1` */;
-/*!50001 SET character_set_client      = @saved_cs_client */;
-/*!50001 SET character_set_results     = @saved_cs_results */;
-/*!50001 SET collation_connection      = @saved_col_connection */;
-/*!50001 DROP TABLE IF EXISTS `v2`*/;
-/*!50001 DROP VIEW IF EXISTS `v2`*/;
-/*!50001 SET @saved_cs_client          = @@character_set_client */;
-/*!50001 SET @saved_cs_results         = @@character_set_results */;
-/*!50001 SET @saved_col_connection     = @@collation_connection */;
-/*!50001 SET character_set_client      = latin1 */;
-/*!50001 SET character_set_results     = latin1 */;
-/*!50001 SET collation_connection      = latin1_swedish_ci */;
-/*!50001 CREATE ALGORITHM=UNDEFINED */
-/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
-/*!50001 VIEW `v2` AS select `v0`.`a` AS `a`,`v0`.`b` AS `b`,`v0`.`c` AS `c` from `v0` */;
-/*!50001 SET character_set_client      = @saved_cs_client */;
-/*!50001 SET character_set_results     = @saved_cs_results */;
-/*!50001 SET collation_connection      = @saved_col_connection */;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-drop view v2;
-drop view v0;
-drop view v1;
-drop table t1;
-#
-# Bug#14554 mysqldump does not separate words "ROW" and "BEGIN"
-# for tables with trigger created in the IGNORE_SPACE sql mode.
-#
-SET @old_sql_mode = @@SQL_MODE;
-SET SQL_MODE = IGNORE_SPACE;
-CREATE TABLE t1 (a INT);
-CREATE TRIGGER tr1 BEFORE INSERT ON t1
-FOR EACH ROW
-BEGIN
-SET new.a = 0;
-END|
-SET SQL_MODE = @old_sql_mode;
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-
-CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET latin1 */;
-
-USE `test`;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!50003 SET @saved_cs_client      = @@character_set_client */ ;
-/*!50003 SET @saved_cs_results     = @@character_set_results */ ;
-/*!50003 SET @saved_col_connection = @@collation_connection */ ;
-/*!50003 SET character_set_client  = latin1 */ ;
-/*!50003 SET character_set_results = latin1 */ ;
-/*!50003 SET collation_connection  = latin1_swedish_ci */ ;
-/*!50003 SET @saved_sql_mode       = @@sql_mode */ ;
-/*!50003 SET sql_mode              = 'IGNORE_SPACE' */ ;
-DELIMITER ;;
-/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER tr1 BEFORE INSERT ON t1
-FOR EACH ROW
-BEGIN
-SET new.a = 0;
-END */;;
-DELIMITER ;
-/*!50003 SET sql_mode              = @saved_sql_mode */ ;
-/*!50003 SET character_set_client  = @saved_cs_client */ ;
-/*!50003 SET character_set_results = @saved_cs_results */ ;
-/*!50003 SET collation_connection  = @saved_col_connection */ ;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-DROP TRIGGER tr1;
-DROP TABLE t1;
-#
-# Bug#13318 Bad result with empty field and --hex-blob
-#
-create table t1 (a binary(1), b blob);
-insert into t1 values ('','');
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` binary(1) DEFAULT NULL,
-  `b` blob
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES (0x00,'');
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` binary(1) DEFAULT NULL,
-  `b` blob
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES (0x00,'');
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-drop table t1;
-#
-# Bug#14871 Invalid view dump output
-#
-create table t1 (a int);
-insert into t1 values (289), (298), (234), (456), (789);
-create definer = CURRENT_USER view v1 as select * from t1;
-create SQL SECURITY INVOKER view v2 as select * from t1;
-create view v3 as select * from t1 with local check option;
-create algorithm=merge view v4 as select * from t1 with cascaded check option;
-create algorithm =temptable view v5 as select * from t1;
-drop table t1;
-drop view v1, v2, v3, v4, v5;
-show tables;
-Tables_in_test
-t1
-v1
-v2
-v3
-v4
-v5
-select * from v3 order by a;
-a
-234
-289
-298
-456
-789
-drop table t1;
-drop view v1, v2, v3, v4, v5;
-#
-# Bug#16878 dump of trigger
-#
-create table t1 (a int, created datetime);
-create table t2 (b int, created datetime);
-create trigger tr1 before insert on t1 for each row set
-new.created=now();
-create trigger tr2 after insert on t1
-for each row
-begin
-insert into t2 set b=new.a and created=new.created;
-end|
-drop trigger tr1;
-drop trigger tr2;
-drop table t1, t2;
-show triggers;
-Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer	character_set_client	collation_connection	Database Collation
-tr1	INSERT	t1	set
-new.created=now()	BEFORE	#		root@localhost	latin1	latin1_swedish_ci	latin1_swedish_ci
-tr2	INSERT	t1	begin
-insert into t2 set b=new.a and created=new.created;
-end	AFTER	#		root@localhost	latin1	latin1_swedish_ci	latin1_swedish_ci
-drop trigger tr1;
-drop trigger tr2;
-drop table t1, t2;
-#
-# Bug#18462 mysqldump does not dump view structures correctly
-#
-create table t (qty int, price int);
-insert into t values(3, 50);
-insert into t values(5, 51);
-create view v1 as select qty, price, qty*price as value from t;
-create view v2 as select qty from v1;
-mysqldump {
-/*!50001 DROP TABLE IF EXISTS `v1`*/;
-/*!50001 SET @saved_cs_client          = @@character_set_client */;
-/*!50001 SET @saved_cs_results         = @@character_set_results */;
-/*!50001 SET @saved_col_connection     = @@collation_connection */;
-/*!50001 SET character_set_client      = latin1 */;
-/*!50001 SET character_set_results     = latin1 */;
-/*!50001 SET collation_connection      = latin1_swedish_ci */;
-/*!50001 CREATE ALGORITHM=UNDEFINED */
-/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
-/*!50001 VIEW `v1` AS select `t`.`qty` AS `qty`,`t`.`price` AS `price`,(`t`.`qty` * `t`.`price`) AS `value` from `t` */;
-/*!50001 SET character_set_client      = @saved_cs_client */;
-/*!50001 SET character_set_results     = @saved_cs_results */;
-/*!50001 SET collation_connection      = @saved_col_connection */;
-
-} mysqldump {
-/*!50001 DROP TABLE IF EXISTS `v2`*/;
-/*!50001 SET @saved_cs_client          = @@character_set_client */;
-/*!50001 SET @saved_cs_results         = @@character_set_results */;
-/*!50001 SET @saved_col_connection     = @@collation_connection */;
-/*!50001 SET character_set_client      = latin1 */;
-/*!50001 SET character_set_results     = latin1 */;
-/*!50001 SET collation_connection      = latin1_swedish_ci */;
-/*!50001 CREATE ALGORITHM=UNDEFINED */
-/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
-/*!50001 VIEW `v2` AS select `v1`.`qty` AS `qty` from `v1` */;
-/*!50001 SET character_set_client      = @saved_cs_client */;
-/*!50001 SET character_set_results     = @saved_cs_results */;
-/*!50001 SET collation_connection      = @saved_col_connection */;
-
-} mysqldump
-drop view v1;
-drop view v2;
-drop table t;
-#
-# Bug#14857 Reading dump files with single statement stored routines fails.
-# fixed by patch for Bug#16878
-#
-/*!50003 CREATE FUNCTION `f`() RETURNS bigint(20)
-return 42 */|
-/*!50003 CREATE PROCEDURE `p`()
-select 42 */|
-show create function f;
-Function	sql_mode	Create Function	character_set_client	collation_connection	Database Collation
-f		CREATE DEFINER=`root`@`localhost` FUNCTION `f`() RETURNS bigint(20)
-return 42	latin1	latin1_swedish_ci	latin1_swedish_ci
-show create procedure p;
-Procedure	sql_mode	Create Procedure	character_set_client	collation_connection	Database Collation
-p		CREATE DEFINER=`root`@`localhost` PROCEDURE `p`()
-select 42	latin1	latin1_swedish_ci	latin1_swedish_ci
-drop function f;
-drop procedure p;
-#
-# Bug#17371 Unable to dump a schema with invalid views
-#
-create table t1 ( id serial );
-create view v1 as select * from t1;
-drop table t1;
-mysqldump {
-
--- failed on view `v1`: CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `test`.`t1`.`id` AS `id` from `t1`
-
-} mysqldump
-drop view v1;
-# Bug#17201 Spurious 'DROP DATABASE' in output,
-# also confusion between tables and views.
-# Example code from Markus Popp
-create database mysqldump_test_db;
-use mysqldump_test_db;
-create table t1 (id int);
-create view v1 as select * from t1;
-insert into t1 values (1232131);
-insert into t1 values (4711);
-insert into t1 values (3231);
-insert into t1 values (0815);
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-
-/*!40000 DROP DATABASE IF EXISTS `mysqldump_test_db`*/;
-
-CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqldump_test_db` /*!40100 DEFAULT CHARACTER SET latin1 */;
-
-USE `mysqldump_test_db`;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `id` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES (1232131),(4711),(3231),(815);
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-DROP TABLE IF EXISTS `v1`;
-/*!50001 DROP VIEW IF EXISTS `v1`*/;
-SET @saved_cs_client     = @@character_set_client;
-SET character_set_client = utf8;
-/*!50001 CREATE TABLE `v1` (
-  `id` int(11)
-) ENGINE=MyISAM */;
-SET character_set_client = @saved_cs_client;
-
-USE `mysqldump_test_db`;
-/*!50001 DROP TABLE IF EXISTS `v1`*/;
-/*!50001 DROP VIEW IF EXISTS `v1`*/;
-/*!50001 SET @saved_cs_client          = @@character_set_client */;
-/*!50001 SET @saved_cs_results         = @@character_set_results */;
-/*!50001 SET @saved_col_connection     = @@collation_connection */;
-/*!50001 SET character_set_client      = latin1 */;
-/*!50001 SET character_set_results     = latin1 */;
-/*!50001 SET collation_connection      = latin1_swedish_ci */;
-/*!50001 CREATE ALGORITHM=UNDEFINED */
-/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
-/*!50001 VIEW `v1` AS select `t1`.`id` AS `id` from `t1` */;
-/*!50001 SET character_set_client      = @saved_cs_client */;
-/*!50001 SET character_set_results     = @saved_cs_results */;
-/*!50001 SET collation_connection      = @saved_col_connection */;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-drop view v1;
-drop table t1;
-drop database mysqldump_test_db;
-#
-# Bug#21014 Segmentation fault of mysqldump on view
-#
-create database mysqldump_tables;
-use mysqldump_tables;
-create table basetable ( id serial, tag varchar(64) );
-create database mysqldump_views;
-use mysqldump_views;
-create view nasishnasifu as select mysqldump_tables.basetable.id from mysqldump_tables.basetable;
-
-CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqldump_tables` /*!40100 DEFAULT CHARACTER SET latin1 */;
-
-USE `mysqldump_tables`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `basetable` (
-  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
-  `tag` varchar(64) DEFAULT NULL,
-  UNIQUE KEY `id` (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqldump_views` /*!40100 DEFAULT CHARACTER SET latin1 */;
-
-USE `mysqldump_views`;
-SET @saved_cs_client     = @@character_set_client;
-SET character_set_client = utf8;
-/*!50001 CREATE TABLE `nasishnasifu` (
-  `id` bigint(20) unsigned
-) ENGINE=MyISAM */;
-SET character_set_client = @saved_cs_client;
-
-USE `mysqldump_tables`;
-
-USE `mysqldump_views`;
-/*!50001 DROP TABLE IF EXISTS `nasishnasifu`*/;
-/*!50001 SET @saved_cs_client          = @@character_set_client */;
-/*!50001 SET @saved_cs_results         = @@character_set_results */;
-/*!50001 SET @saved_col_connection     = @@collation_connection */;
-/*!50001 SET character_set_client      = latin1 */;
-/*!50001 SET character_set_results     = latin1 */;
-/*!50001 SET collation_connection      = latin1_swedish_ci */;
-/*!50001 CREATE ALGORITHM=UNDEFINED */
-/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
-/*!50001 VIEW `nasishnasifu` AS select `mysqldump_tables`.`basetable`.`id` AS `id` from `mysqldump_tables`.`basetable` */;
-/*!50001 SET character_set_client      = @saved_cs_client */;
-/*!50001 SET character_set_results     = @saved_cs_results */;
-/*!50001 SET collation_connection      = @saved_col_connection */;
-drop view nasishnasifu;
-drop database mysqldump_views;
-drop table mysqldump_tables.basetable;
-drop database mysqldump_tables;
-#
-# Bug#20221 Dumping of multiple databases containing view(s) yields maleformed dumps
-#
-create database mysqldump_dba;
-use mysqldump_dba;
-create table t1 (f1 int, f2 int);
-insert into t1 values (1,1);
-create view v1 as select f1, f2 from t1;
-create database mysqldump_dbb;
-use mysqldump_dbb;
-create table t1 (f1 int, f2 int);
-insert into t1 values (2,2);
-create view v1 as select f1, f2 from t1;
-drop view v1;
-drop table t1;
-drop database mysqldump_dbb;
-use mysqldump_dba;
-drop view v1;
-drop table t1;
-drop database mysqldump_dba;
-select * from mysqldump_dba.v1;
-f1	f2
-1	1
-select * from mysqldump_dbb.v1;
-f1	f2
-2	2
-use mysqldump_dba;
-drop view v1;
-drop table t1;
-drop database mysqldump_dba;
-use mysqldump_dbb;
-drop view v1;
-drop table t1;
-drop database mysqldump_dbb;
-use test;
-#
-# Bug#21215 mysqldump creating incomplete backups without warning
-#
-create user mysqltest_1@localhost;
-create table t1(a int, b varchar(34));
-reset master;
-mysqldump: Couldn't execute 'FLUSH /*!40101 LOCAL */ TABLES': Access denied; you need (at least one of) the RELOAD privilege(s) for this operation (1227)
-mysqldump: Couldn't execute 'FLUSH /*!40101 LOCAL */ TABLES': Access denied; you need (at least one of) the RELOAD privilege(s) for this operation (1227)
-grant RELOAD on *.* to mysqltest_1@localhost;
-mysqldump: Couldn't execute 'SHOW MASTER STATUS': Access denied; you need (at least one of) the SUPER,REPLICATION CLIENT privilege(s) for this operation (1227)
-mysqldump: Couldn't execute 'SHOW MASTER STATUS': Access denied; you need (at least one of) the SUPER,REPLICATION CLIENT privilege(s) for this operation (1227)
-grant REPLICATION CLIENT on *.* to mysqltest_1@localhost;
-drop table t1;
-drop user mysqltest_1@localhost;
-#
-# Bug#21424 mysqldump failing to export/import views
-#
-create database mysqldump_myDB;
-use mysqldump_myDB;
-create user myDB_User@localhost;
-grant create, create view, select, insert on mysqldump_myDB.* to myDB_User@localhost;
-create table t1 (c1 int);
-insert into t1 values (3);
-use mysqldump_myDB;
-create table u1 (f1 int);
-insert into u1 values (4);
-create view v1 (c1) as select * from t1;
-use mysqldump_myDB;
-drop view v1;
-drop table t1;
-drop table u1;
-revoke all privileges on mysqldump_myDB.* from myDB_User@localhost;
-drop user myDB_User@localhost;
-drop database mysqldump_myDB;
-flush privileges;
-# Bug#21424 continues from here.
-# Restore. Flush Privileges test ends.
-#
-use mysqldump_myDB;
-select * from mysqldump_myDB.v1;
-c1
-3
-select * from mysqldump_myDB.u1;
-f1
-4
-use mysqldump_myDB;
-drop view v1;
-drop table t1;
-drop table u1;
-revoke all privileges on mysqldump_myDB.* from myDB_User@localhost;
-drop user myDB_User@localhost;
-drop database mysqldump_myDB;
-use test;
-#
-# Bug #21527 mysqldump incorrectly tries to LOCK TABLES on the 
-# information_schema database.
-#
-# Bug #33762: mysqldump can not dump INFORMATION_SCHEMA
-#
-DROP TABLE IF EXISTS `TABLES`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TEMPORARY TABLE `TABLES` (
-  `TABLE_CATALOG` varchar(512) NOT NULL DEFAULT '',
-  `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
-  `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
-  `TABLE_TYPE` varchar(64) NOT NULL DEFAULT '',
-  `ENGINE` varchar(64) DEFAULT NULL,
-  `VERSION` bigint(21) unsigned DEFAULT NULL,
-  `ROW_FORMAT` varchar(10) DEFAULT NULL,
-  `TABLE_ROWS` bigint(21) unsigned DEFAULT NULL,
-  `AVG_ROW_LENGTH` bigint(21) unsigned DEFAULT NULL,
-  `DATA_LENGTH` bigint(21) unsigned DEFAULT NULL,
-  `MAX_DATA_LENGTH` bigint(21) unsigned DEFAULT NULL,
-  `INDEX_LENGTH` bigint(21) unsigned DEFAULT NULL,
-  `DATA_FREE` bigint(21) unsigned DEFAULT NULL,
-  `AUTO_INCREMENT` bigint(21) unsigned DEFAULT NULL,
-  `CREATE_TIME` datetime DEFAULT NULL,
-  `UPDATE_TIME` datetime DEFAULT NULL,
-  `CHECK_TIME` datetime DEFAULT NULL,
-  `TABLE_COLLATION` varchar(32) DEFAULT NULL,
-  `CHECKSUM` bigint(21) unsigned DEFAULT NULL,
-  `CREATE_OPTIONS` varchar(255) DEFAULT NULL,
-  `TABLE_COMMENT` varchar(2048) NOT NULL DEFAULT ''
-) ENGINE=MEMORY DEFAULT CHARSET=utf8;
-/*!40101 SET character_set_client = @saved_cs_client */;
-#
-# Bug#19745 mysqldump --xml produces invalid xml
-#
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (f1 int(10), data MEDIUMBLOB);
-INSERT INTO t1 VALUES(1,0xff00fef0);
-<?xml version="1.0"?>
-<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-<database name="test">
-	<table_structure name="t1">
-		<field Field="f1" Type="int(10)" Null="YES" Key="" Extra="" Comment="" />
-		<field Field="data" Type="mediumblob" Null="YES" Key="" Extra="" Comment="" />
-	</table_structure>
-	<table_data name="t1">
-	<row>
-		<field name="f1">1</field>
-		<field name="data" xsi:type="xs:hexBinary">FF00FEF0</field>
-	</row>
-	</table_data>
-</database>
-</mysqldump>
-DROP TABLE t1;
-#
-# Bug#26346 stack + buffer overrun in mysqldump
-#
-CREATE TABLE t1(a int);
-INSERT INTO t1 VALUES (1), (2);
-mysqldump: Input filename too long: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-DROP TABLE t1;
-CREATE TABLE t2 (a INT);
-CREATE TABLE t3 (a INT);
-CREATE TABLE t1 (a INT) ENGINE=merge UNION=(t2, t3);
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 UNION=(`t2`,`t3`);
-/*!40101 SET character_set_client = @saved_cs_client */;
-DROP TABLE IF EXISTS `t2`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t2` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t2` WRITE;
-/*!40000 ALTER TABLE `t2` DISABLE KEYS */;
-/*!40000 ALTER TABLE `t2` ENABLE KEYS */;
-UNLOCK TABLES;
-DROP TABLE IF EXISTS `t3`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t3` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t3` WRITE;
-/*!40000 ALTER TABLE `t3` DISABLE KEYS */;
-/*!40000 ALTER TABLE `t3` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-DROP TABLE t1, t2, t3;
-#
-# Bug#23491 MySQLDump prefix function call in a view by database name
-#
-create database bug23491_original;
-create database bug23491_restore;
-use bug23491_original;
-create table t1 (c1 int);
-create view v1 as select * from t1;
-create procedure p1() select 1;
-create function f1() returns int return 1;
-create view v2 as select f1();
-create function f2() returns int return f1();
-create view v3 as select bug23491_original.f1();
-use bug23491_restore;
-show create view bug23491_restore.v2;
-View	Create View	character_set_client	collation_connection
-v2	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select `f1`() AS `f1()`	latin1	latin1_swedish_ci
-show create view bug23491_restore.v3;
-View	Create View	character_set_client	collation_connection
-v3	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `bug23491_original`.`f1`() AS `bug23491_original.f1()`	latin1	latin1_swedish_ci
-drop database bug23491_original;
-drop database bug23491_restore;
-use test;
-#
-# Bug#27293 mysqldump crashes when dumping routines
-#           defined by a different user
-#
-# Bug#22761 mysqldump reports no errors when using
-#           --routines without mysql.proc privileges
-#
-create database mysqldump_test_db;
-grant all privileges on mysqldump_test_db.*  to user1;
-grant all privileges on mysqldump_test_db.*  to user2;
-create procedure mysqldump_test_db.sp1() select 'hello';
-
--- insufficient privileges to SHOW CREATE PROCEDURE `sp1`
--- does user2 have permissions on mysql.proc?
-
-/*!50003 SET @saved_cs_client      = @@character_set_client */ ;
-/*!50003 SET @saved_cs_results     = @@character_set_results */ ;
-/*!50003 SET @saved_col_connection = @@collation_connection */ ;
-/*!50003 SET character_set_client  = latin1 */ ;
-/*!50003 SET character_set_results = latin1 */ ;
-/*!50003 SET collation_connection  = latin1_swedish_ci */ ;
-/*!50003 SET @saved_sql_mode       = @@sql_mode */ ;
-/*!50003 SET sql_mode              = '' */ ;
-DELIMITER ;;
-/*!50003 CREATE*/ /*!50020 DEFINER=`user1`@`%`*/ /*!50003 PROCEDURE `sp1`()
-select 'hello' */;;
-DELIMITER ;
-/*!50003 SET sql_mode              = @saved_sql_mode */ ;
-/*!50003 SET character_set_client  = @saved_cs_client */ ;
-/*!50003 SET character_set_results = @saved_cs_results */ ;
-/*!50003 SET collation_connection  = @saved_col_connection */ ;
-drop procedure sp1;
-drop user user1;
-drop user user2;
-drop database mysqldump_test_db;
-#
-# Bug#28522 buffer overrun by '\0' byte using --hex-blob.
-#
-CREATE TABLE t1 (c1 INT, c2 LONGBLOB);
-INSERT INTO t1 SET c1=11, c2=REPEAT('q',509);
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `c1` int(11) DEFAULT NULL,
-  `c2` longblob
-);
-/*!40101 SET character_set_client = @saved_cs_client */;
-INSERT INTO `t1` VALUES (11,0x7171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171);
-DROP TABLE t1;
-#
-# Bug#28524 mysqldump --skip-add-drop-table is not
-#           compatible with views
-#
-CREATE VIEW v1 AS SELECT 1;
-DROP VIEW v1;
-SELECT * FROM v1;
-1
-1
-DROP VIEW v1;
-#
-# Bug#29788 mysqldump discards the NO_AUTO_VALUE_ON_ZERO value of
-#           the SQL_MODE variable after the dumping of triggers.
-#
-CREATE TABLE t1 (c1 INT);
-CREATE TRIGGER t1bd BEFORE DELETE ON t1 FOR EACH ROW BEGIN END;
-CREATE TABLE t2 (c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
-SET @TMP_SQL_MODE = @@SQL_MODE;
-SET SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO';
-INSERT INTO t2 VALUES (0), (1), (2);
-SET SQL_MODE = @TMP_SQL_MODE;
-SELECT * FROM t2;
-c1
-0
-1
-2
-SELECT * FROM t2;
-c1
-0
-1
-2
-DROP TABLE t1,t2;
-#
-# Bug#29815 new option for suppressing last line of mysqldump:
-#           "Dump completed on"
-#
-# --skip-dump-date:
---
-
-
-
--- Dump completed
-# --dump-date:
---
-
-
-
--- Dump completed on DATE
-# --dump-date (default):
---
-
-
-
--- Dump completed on DATE
-#
-# Bug #42635: mysqldump includes views that were excluded using 
-#   the --ignore-table option
-#
-create database db42635;
-use db42635;
-create table t1 (id int);
-create view db42635.v1 (c) as select * from db42635.t1;
-create view db42635.v2 (c) as select * from db42635.t1;
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `id` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-DROP TABLE IF EXISTS `v2`;
-/*!50001 DROP VIEW IF EXISTS `v2`*/;
-SET @saved_cs_client     = @@character_set_client;
-SET character_set_client = utf8;
-/*!50001 CREATE TABLE `v2` (
-  `c` int(11)
-) ENGINE=MyISAM */;
-SET character_set_client = @saved_cs_client;
-/*!50001 DROP TABLE IF EXISTS `v2`*/;
-/*!50001 DROP VIEW IF EXISTS `v2`*/;
-/*!50001 SET @saved_cs_client          = @@character_set_client */;
-/*!50001 SET @saved_cs_results         = @@character_set_results */;
-/*!50001 SET @saved_col_connection     = @@collation_connection */;
-/*!50001 SET character_set_client      = latin1 */;
-/*!50001 SET character_set_results     = latin1 */;
-/*!50001 SET collation_connection      = latin1_swedish_ci */;
-/*!50001 CREATE ALGORITHM=UNDEFINED */
-/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
-/*!50001 VIEW `v2` AS select `t1`.`id` AS `c` from `t1` */;
-/*!50001 SET character_set_client      = @saved_cs_client */;
-/*!50001 SET character_set_results     = @saved_cs_results */;
-/*!50001 SET collation_connection      = @saved_col_connection */;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-use test;
-drop database db42635;
-#
-# Bug#33550 mysqldump 4.0 compatibility broken
-#
-SET NAMES utf8;
-CREATE TABLE `straße` ( f1 INT );
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,MYSQL323' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `straße`;
-CREATE TABLE `straße` (
-  `f1` int(11) DEFAULT NULL
-) TYPE=MyISAM;
-
-LOCK TABLES `straße` WRITE;
-/*!40000 ALTER TABLE `straße` DISABLE KEYS */;
-/*!40000 ALTER TABLE `straße` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,MYSQL323' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `strae`;
-CREATE TABLE `strae` (
-  `f1` int(11) DEFAULT NULL
-) TYPE=MyISAM;
-
-LOCK TABLES `strae` WRITE;
-/*!40000 ALTER TABLE `strae` DISABLE KEYS */;
-/*!40000 ALTER TABLE `strae` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-DROP TABLE `straße`;
-CREATE TABLE `כדשגכחךלדגכחשךדגחכךלדגכ` ( f1 INT );
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,MYSQL323' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `כדשגכחךלדגכחשךדגחכךלדגכ`;
-CREATE TABLE `כדשגכחךלדגכחשךדגחכךלדגכ` (
-  `f1` int(11) DEFAULT NULL
-) TYPE=MyISAM;
-
-LOCK TABLES `כדשגכחךלדגכחשךדגחכךלדגכ` WRITE;
-/*!40000 ALTER TABLE `כדשגכחךלדגכחשךדגחכךלדגכ` DISABLE KEYS */;
-/*!40000 ALTER TABLE `כדשגכחךלדגכחשךדגחכךלדגכ` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,MYSQL323' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE `כדשגכחךלדגכחשךדגחכךלדגכ`;
-SET NAMES latin1;
-#
-# End of 5.0 tests
-#
-drop table if exists t1;
-CREATE TABLE t1(a int, b int);
-INSERT INTO t1 VALUES (1,1);
-INSERT INTO t1 VALUES (2,3);
-INSERT INTO t1 VALUES (3,4), (4,5);
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL,
-  `b` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-REPLACE INTO `t1` VALUES (1,1),(2,3),(3,4),(4,5);
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-DROP TABLE t1;
-create table t1 (a text , b text);
-create table t2 (a text , b text);
-insert t1 values ("Duck, Duck", "goose");
-insert t1 values ("Duck, Duck", "pidgeon");
-insert t2 values ("We the people", "in order to perform");
-insert t2 values ("a more perfect", "union");
-select * from t1;
-a	b
-Duck, Duck	goose
-Duck, Duck	pidgeon
-select * from t2;
-a	b
-We the people	in order to perform
-a more perfect	union
-test.t1: Records: 2  Deleted: 0  Skipped: 0  Warnings: 0
-test.t2: Records: 2  Deleted: 0  Skipped: 0  Warnings: 0
-select * from t1;
-a	b
-Duck, Duck	goose
-Duck, Duck	pidgeon
-Duck, Duck	goose
-Duck, Duck	pidgeon
-select * from t2;
-a	b
-We the people	in order to perform
-a more perfect	union
-We the people	in order to perform
-a more perfect	union
-create table words(a varchar(255));
-create table words2(b varchar(255));
-select * from t1;
-a	b
-Duck, Duck	goose
-Duck, Duck	pidgeon
-Duck, Duck	goose
-Duck, Duck	pidgeon
-Duck, Duck	goose
-Duck, Duck	pidgeon
-select * from t2;
-a	b
-We the people	in order to perform
-a more perfect	union
-We the people	in order to perform
-a more perfect	union
-We the people	in order to perform
-a more perfect	union
-select * from words;
-a
-Aarhus
-Aaron
-Ababa
-aback
-abaft
-abandon
-abandoned
-abandoning
-abandonment
-abandons
-Aarhus
-Aaron
-Ababa
-aback
-abaft
-abandon
-abandoned
-abandoning
-abandonment
-abandons
-abase
-abased
-abasement
-abasements
-abases
-abash
-abashed
-abashes
-abashing
-abasing
-abate
-abated
-abatement
-abatements
-abater
-abates
-abating
-Abba
-abbe
-abbey
-abbeys
-abbot
-abbots
-Abbott
-abbreviate
-abbreviated
-abbreviates
-abbreviating
-abbreviation
-abbreviations
-Abby
-abdomen
-abdomens
-abdominal
-abduct
-abducted
-abduction
-abductions
-abductor
-abductors
-abducts
-Abe
-abed
-Abel
-Abelian
-Abelson
-Aberdeen
-Abernathy
-aberrant
-aberration
-select * from words2;
-b
-abase
-abased
-abasement
-abasements
-abases
-abash
-abashed
-abashes
-abashing
-abasing
-abate
-abated
-abatement
-abatements
-abater
-abates
-abating
-Abba
-abbe
-abbey
-abbeys
-abbot
-abbots
-Abbott
-abbreviate
-abbreviated
-abbreviates
-abbreviating
-abbreviation
-abbreviations
-Abby
-abdomen
-abdomens
-abdominal
-abduct
-abducted
-abduction
-abductions
-abductor
-abductors
-abducts
-Abe
-abed
-Abel
-Abelian
-Abelson
-Aberdeen
-Abernathy
-aberrant
-aberration
-drop table words;
-mysql-import: Error: 1146, Table 'test.words' doesn't exist, when using table: words
-drop table t1;
-drop table t2;
-drop table words2;
-#
-# Bug#16853 mysqldump doesn't show events
-#
-create database first;
-use first;
-set time_zone = 'UTC';
-create event ee1 on schedule at '2035-12-31 20:01:23' do set @a=5;
-show events;
-Db	Name	Definer	Time zone	Type	Execute at	Interval value	Interval field	Starts	Ends	Status	Originator	character_set_client	collation_connection	Database Collation
-first	ee1	root@localhost	UTC	ONE TIME	2035-12-31 20:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
-show create event ee1;
-Event	sql_mode	time_zone	Create Event	character_set_client	collation_connection	Database Collation
-ee1		UTC	CREATE DEFINER=`root`@`localhost` EVENT `ee1` ON SCHEDULE AT '2035-12-31 20:01:23' ON COMPLETION NOT PRESERVE ENABLE DO set @a=5	latin1	latin1_swedish_ci	latin1_swedish_ci
-drop database first;
-create database second;
-use second;
-show events;
-Db	Name	Definer	Time zone	Type	Execute at	Interval value	Interval field	Starts	Ends	Status	Originator	character_set_client	collation_connection	Database Collation
-second	ee1	root@localhost	UTC	ONE TIME	2035-12-31 20:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
-show create event ee1;
-Event	sql_mode	time_zone	Create Event	character_set_client	collation_connection	Database Collation
-ee1		UTC	CREATE DEFINER=`root`@`localhost` EVENT `ee1` ON SCHEDULE AT '2035-12-31 20:01:23' ON COMPLETION NOT PRESERVE ENABLE DO set @a=5	latin1	latin1_swedish_ci	latin1_swedish_ci
-create event ee2 on schedule at '2018-12-31 21:01:23' do set @a=5;
-create event ee3 on schedule at '2030-12-31 22:01:23' do set @a=5;
-show events;
-Db	Name	Definer	Time zone	Type	Execute at	Interval value	Interval field	Starts	Ends	Status	Originator	character_set_client	collation_connection	Database Collation
-second	ee1	root@localhost	UTC	ONE TIME	2035-12-31 20:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
-second	ee2	root@localhost	UTC	ONE TIME	2018-12-31 21:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
-second	ee3	root@localhost	UTC	ONE TIME	2030-12-31 22:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
-drop database second;
-create database third;
-use third;
-show events;
-Db	Name	Definer	Time zone	Type	Execute at	Interval value	Interval field	Starts	Ends	Status	Originator	character_set_client	collation_connection	Database Collation
-third	ee1	root@localhost	UTC	ONE TIME	2035-12-31 20:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
-third	ee2	root@localhost	UTC	ONE TIME	2018-12-31 21:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
-third	ee3	root@localhost	UTC	ONE TIME	2030-12-31 22:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
-drop database third;
-set time_zone = 'SYSTEM';
-use test;
-#
-# Bug#17201 Spurious 'DROP DATABASE' in output,
-# also confusion between tables and views.
-# Example code from Markus Popp
-#
-create database mysqldump_test_db;
-use mysqldump_test_db;
-create table t1 (id int);
-create view v1 as select * from t1;
-insert into t1 values (1232131);
-insert into t1 values (4711);
-insert into t1 values (3231);
-insert into t1 values (0815);
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-
-/*!40000 DROP DATABASE IF EXISTS `mysqldump_test_db`*/;
-
-CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqldump_test_db` /*!40100 DEFAULT CHARACTER SET latin1 */;
-
-USE `mysqldump_test_db`;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `id` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES (1232131),(4711),(3231),(815);
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-DROP TABLE IF EXISTS `v1`;
-/*!50001 DROP VIEW IF EXISTS `v1`*/;
-SET @saved_cs_client     = @@character_set_client;
-SET character_set_client = utf8;
-/*!50001 CREATE TABLE `v1` (
-  `id` int(11)
-) ENGINE=MyISAM */;
-SET character_set_client = @saved_cs_client;
-
-USE `mysqldump_test_db`;
-/*!50001 DROP TABLE IF EXISTS `v1`*/;
-/*!50001 DROP VIEW IF EXISTS `v1`*/;
-/*!50001 SET @saved_cs_client          = @@character_set_client */;
-/*!50001 SET @saved_cs_results         = @@character_set_results */;
-/*!50001 SET @saved_col_connection     = @@collation_connection */;
-/*!50001 SET character_set_client      = latin1 */;
-/*!50001 SET character_set_results     = latin1 */;
-/*!50001 SET collation_connection      = latin1_swedish_ci */;
-/*!50001 CREATE ALGORITHM=UNDEFINED */
-/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
-/*!50001 VIEW `v1` AS select `t1`.`id` AS `id` from `t1` */;
-/*!50001 SET character_set_client      = @saved_cs_client */;
-/*!50001 SET character_set_results     = @saved_cs_results */;
-/*!50001 SET collation_connection      = @saved_col_connection */;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-drop view v1;
-drop table t1;
-drop database mysqldump_test_db;
-#
-# Bug#30027 mysqldump does not dump views properly.
-#
-
-# Cleanup.
-DROP DATABASE IF EXISTS mysqldump_test_db;
-
-# Create objects.
-CREATE DATABASE mysqldump_test_db;
-set names koi8r;
-CREATE VIEW mysqldump_test_db.v2 AS SELECT 1 AS 1;
-CREATE VIEW mysqldump_test_db.v1 AS SELECT 1 FROM mysqldump_test_db.v2;
-set names latin1;
-
-# Dump mysqldump_test_db to bug30027.sql.
-
-# Drop mysqldump_test_db.
-DROP DATABASE mysqldump_test_db;
-
-# Restore mysqldump_test_db from bug30027.sql.
-
-# Check the view.
-set names utf8;
-SHOW CREATE VIEW mysqldump_test_db.v1;
-View	Create View	character_set_client	collation_connection
-v1	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `mysqldump_test_db`.`v1` AS select `v2`.`колонка1` AS `колонка1` from `mysqldump_test_db`.`v2`	koi8r	koi8r_general_ci
-SHOW CREATE VIEW mysqldump_test_db.v2;
-View	Create View	character_set_client	collation_connection
-v2	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `mysqldump_test_db`.`v2` AS select 1 AS `колонка1`	koi8r	koi8r_general_ci
-set names latin1;
-
-# Cleanup.
-DROP DATABASE mysqldump_test_db;
-#
-# Bug#29938 wrong behavior of mysqldump --skip-events
-#           with --all-databases
-#
-TRUNCATE mysql.event;
-USE test;
-CREATE event e29938 ON SCHEDULE AT '2035-12-31 20:01:23' DO SET @bug29938=29938;
-SHOW EVENTS;
-Db	Name	Definer	Time zone	Type	Execute at	Interval value	Interval field	Starts	Ends	Status	Originator	character_set_client	collation_connection	Database Collation
-test	e29938	root@localhost	SYSTEM	ONE TIME	2035-12-31 20:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
-TRUNCATE mysql.event;
-SHOW EVENTS;
-Db	Name	Definer	Time zone	Type	Execute at	Interval value	Interval field	Starts	Ends	Status	Originator	character_set_client	collation_connection	Database Collation
-#
-# Bug#31113 mysqldump 5.1 can't handle a dash ("-") in database names
-#
-create database `test-database`;
-use `test-database`;
-create table test (a int);
-DROP TABLE IF EXISTS `test`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `test` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-LOCK TABLES `test` WRITE;
-/*!40000 ALTER TABLE `test` DISABLE KEYS */;
-/*!40000 ALTER TABLE `test` ENABLE KEYS */;
-UNLOCK TABLES;
-drop database `test-database`;
-use test;
-
-# -----------------------------------------------------------------
-# -- Bug#30217 Views: changes in metadata behaviour between 5.0 and 5.1.
-# -----------------------------------------------------------------
-
-DROP DATABASE IF EXISTS mysqldump_test_db;
-CREATE DATABASE mysqldump_test_db;
-use mysqldump_test_db;
-
-CREATE VIEW v1(x, y) AS SELECT 'a', 'a';
-
-SELECT view_definition
-FROM INFORMATION_SCHEMA.VIEWS
-WHERE table_schema = 'mysqldump_test_db' AND table_name = 'v1';
-view_definition
-select 'a' AS `x`,'a' AS `y`
-
----> Dumping mysqldump_test_db to bug30217.sql
-
-DROP DATABASE mysqldump_test_db;
-use test;
-
----> Restoring mysqldump_test_db...
-
-SELECT view_definition
-FROM INFORMATION_SCHEMA.VIEWS
-WHERE table_schema = 'mysqldump_test_db' AND table_name = 'v1';
-view_definition
-select 'a' AS `x`,'a' AS `y`
-
-DROP DATABASE mysqldump_test_db;
-
-# -- End of test case for Bug#32538.
-
-#
-# Bug#37377 Incorrect DROP TABLE statement in dump of a VIEW using --tab
-#
-create table t1 (a int);
-create view v1 as select a from t1;
-drop view v1;
-drop table t1;
-drop view v1;
-drop table t1;
-#
-# Bug#28071 mysqlimport does not quote or escape table name
-#
-drop table if exists `load`;
-create table `load` (a varchar(255));
-test.load: Records: 70  Deleted: 0  Skipped: 0  Warnings: 0
-select count(*) from `load`;
-count(*)
-70
-drop table `load`;
-SET @@GLOBAL.CONCURRENT_INSERT = @OLD_CONCURRENT_INSERT;
-
-Bug #34861 - mysqldump with --tab gives weird output for triggers.
-
-CREATE TABLE t1 (f1 INT);
-CREATE TRIGGER tr1 BEFORE UPDATE ON t1 FOR EACH ROW SET @f1 = 1;
-CREATE PROCEDURE pr1 () SELECT "Meow";
-CREATE EVENT ev1 ON SCHEDULE AT '2030-01-01 00:00:00' DO SELECT "Meow";
-
-SHOW TRIGGERS;
-Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer	character_set_client	collation_connection	Database Collation
-tr1	UPDATE	t1	SET @f1 = 1	BEFORE	NULL		root@localhost	latin1	latin1_swedish_ci	latin1_swedish_ci
-SHOW EVENTS;
-Db	Name	Definer	Time zone	Type	Execute at	Interval value	Interval field	Starts	Ends	Status	Originator	character_set_client	collation_connection	Database Collation
-test	ev1	root@localhost	SYSTEM	ONE TIME	2030-01-01 00:00:00	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
-SELECT name,body FROM mysql.proc WHERE NAME = 'pr1';
-name	body
-pr1	SELECT "Meow"
-
-dump table; if anything goes to stdout, it ends up here: ---------------
-
-drop everything
-DROP EVENT ev1;
-DROP TRIGGER tr1;
-DROP TABLE t1;
-DROP PROCEDURE pr1;
-
-reload table; this should restore table and trigger
-SHOW TRIGGERS;
-Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer	character_set_client	collation_connection	Database Collation
-tr1	UPDATE	t1	SET @f1 = 1	BEFORE	NULL		root@localhost	latin1	latin1_swedish_ci	latin1_swedish_ci
-SHOW EVENTS;
-Db	Name	Definer	Time zone	Type	Execute at	Interval value	Interval field	Starts	Ends	Status	Originator	character_set_client	collation_connection	Database Collation
-SELECT name,body FROM mysql.proc WHERE NAME = 'pr1';
-name	body
-
-reload db; this should restore routines and events
-SHOW TRIGGERS;
-Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer	character_set_client	collation_connection	Database Collation
-tr1	UPDATE	t1	SET @f1 = 1	BEFORE	NULL		root@localhost	latin1	latin1_swedish_ci	latin1_swedish_ci
-SHOW EVENTS;
-Db	Name	Definer	Time zone	Type	Execute at	Interval value	Interval field	Starts	Ends	Status	Originator	character_set_client	collation_connection	Database Collation
-test	ev1	root@localhost	SYSTEM	ONE TIME	2030-01-01 00:00:00	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
-SELECT name,body FROM mysql.proc WHERE NAME = 'pr1';
-name	body
-pr1	SELECT "Meow"
-
-cleanup
-DROP EVENT IF EXISTS ev1;
-DROP PROCEDURE IF EXISTS pr1;
-DROP TRIGGER IF EXISTS tr1;
-DROP TABLE IF EXISTS t1;
-#
-# Bug #30946: mysqldump silently ignores --default-character-set
-#             when used with --tab
-#
-# Also see outfile_loaddata.test
-#
-SET NAMES utf8;
-CREATE TABLE t1 (a INT, b CHAR(10) CHARSET koi8r, c CHAR(10) CHARSET latin1);
-CREATE TABLE t2 LIKE t1;
-INSERT INTO t1 VALUES (1, 'ABC-АБВ', 'DEF-ÂÃÄ'), (2, NULL, NULL);
-# error on multi-character ENCLOSED/ESCAPED BY
-# default '--default-charset' (binary):
-##################################################
-1	ABC-	DEF-
-2	\N	\N
-##################################################
-TRUNCATE t2;
-LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' INTO TABLE t2 CHARACTER SET binary;
-SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
-a	b	c
-1	ABC-АБВ	DEF-ÂÃÄ
-2	NULL	NULL
-# utf8:
-##################################################
-1	ABC-АБВ	DEF-ÂÃÄ
-2	\N	\N
-##################################################
-TRUNCATE t2;
-LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' INTO TABLE t2 CHARACTER SET utf8;
-SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
-a	b	c
-1	ABC-АБВ	DEF-ÂÃÄ
-2	NULL	NULL
-# latin1 (data corruption is expected):
-##################################################
-1	ABC-???	DEF-
-2	\N	\N
-##################################################
-TRUNCATE t2;
-LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' INTO TABLE t2 CHARACTER SET latin1 ;
-SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
-a	b	c
-1	ABC-???	DEF-ÂÃÄ
-1	ABC-АБВ	DEF-ÂÃÄ
-2	NULL	NULL
-# koi8r (data corruption is expected):
-##################################################
-1	ABC-	DEF-???
-2	\N	\N
-##################################################
-TRUNCATE t2;
-LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' INTO TABLE t2 CHARACTER SET koi8r;
-SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
-a	b	c
-1	ABC-АБВ	DEF-???
-1	ABC-АБВ	DEF-ÂÃÄ
-2	NULL	NULL
-SET NAMES default;
-DROP TABLE t1, t2;
-#
-# Bug #53088: mysqldump with -T & --default-character-set set
-#             truncates text/blob to 766 chars
-#
-# Also see outfile_loaddata.test
-#
-CREATE TABLE t1 (a BLOB) CHARSET latin1;
-CREATE TABLE t2 LIKE t1;
-INSERT INTO t1 VALUES (REPEAT('.', 800));
-LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' INTO TABLE t2 CHARACTER SET latin1;
-# should be 800
-SELECT LENGTH(a) FROM t2;
-LENGTH(a)
-800
-DROP TABLE t1, t2;
-#
-# Bug #13618 : mysqldump --xml ommit comment on table field
-#
-CREATE TABLE `comment_table` (i INT COMMENT 'FIELD COMMENT') COMMENT = 'TABLE COMMENT';
-<?xml version="1.0"?>
-<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-<database name="test">
-	<table_structure name="comment_table">
-		<field Field="i" Type="int(11)" Null="YES" Key="" Extra="" Comment="FIELD COMMENT" />
-	</table_structure>
-	<table_data name="comment_table">
-	</table_data>
-</database>
-</mysqldump>
-DROP TABLE `comment_table`;
-#
-# BUG#11766310 : 59398: MYSQLDUMP 5.1 CAN'T HANDLE A DASH ("-") IN
-#                DATABASE NAMES IN ALTER DATABASE
-#
-CREATE DATABASE `test-database`;
-USE `test-database`;
-CREATE TABLE `test` (`c1` VARCHAR(10)) ENGINE=MYISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-CREATE TRIGGER `trig` BEFORE INSERT ON `test` FOR EACH ROW BEGIN
-END |
-ALTER DATABASE `test-database` CHARACTER SET latin1 COLLATE latin1_swedish_ci;
-ALTER DATABASE `test-database` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `test` (
-  `c1` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-/*!40101 SET character_set_client = @saved_cs_client */;
-ALTER DATABASE `test-database` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
-/*!50003 SET @saved_cs_client      = @@character_set_client */ ;
-/*!50003 SET @saved_cs_results     = @@character_set_results */ ;
-/*!50003 SET @saved_col_connection = @@collation_connection */ ;
-/*!50003 SET character_set_client  = latin1 */ ;
-/*!50003 SET character_set_results = latin1 */ ;
-/*!50003 SET collation_connection  = latin1_swedish_ci */ ;
-/*!50003 SET @saved_sql_mode       = @@sql_mode */ ;
-/*!50003 SET sql_mode              = '' */ ;
-DELIMITER ;;
-/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `trig` BEFORE INSERT ON `test` FOR EACH ROW BEGIN
-END */;;
-DELIMITER ;
-/*!50003 SET sql_mode              = @saved_sql_mode */ ;
-/*!50003 SET character_set_client  = @saved_cs_client */ ;
-/*!50003 SET character_set_results = @saved_cs_results */ ;
-/*!50003 SET collation_connection  = @saved_col_connection */ ;
-ALTER DATABASE `test-database` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
-DROP DATABASE `test-database`;
-USE test;
-#
-# BUG#11760384 : 52792: mysqldump in XML mode does not dump routines.
-#
-CREATE DATABASE BUG52792;
-USE BUG52792;
-CREATE TABLE t1 (c1 INT, c2 VARCHAR(20));
-CREATE TABLE t2 (c1 INT);
-INSERT INTO t1 VALUES (1, 'aaa'), (2, 'bbb'), (3, 'ccc');
-INSERT INTO t2 VALUES (1),(2),(3);
-# Stored Procedures.
-CREATE PROCEDURE simpleproc1 (OUT param1 INT)
-BEGIN
-SELECT COUNT(*) INTO param1 FROM t1;
-END//
-CREATE PROCEDURE simpleproc2 (OUT param1 INT)
-BEGIN
-SELECT COUNT(*) INTO param1 FROM t2;
-END//
-# Events.
-CREATE EVENT e1 ON SCHEDULE EVERY 1 SECOND DO DROP DATABASE BUG52792;
-CREATE EVENT e2 ON SCHEDULE EVERY 1 SECOND DO DROP DATABASE BUG52792;
-# Functions.
-CREATE FUNCTION `hello1` (s CHAR(20))
-RETURNS CHAR(50) DETERMINISTIC
-RETURN CONCAT('Hello, ' ,s ,'!');
-CREATE FUNCTION `hello2` (s CHAR(20))
-RETURNS CHAR(50) DETERMINISTIC
-RETURN CONCAT(']]>, ' , s ,'!');
-# Triggers.
-CREATE TRIGGER trig1 BEFORE INSERT ON t2
-FOR EACH ROW BEGIN
-INSERT INTO t2 VALUES(1);
-END;
-|
-CREATE TRIGGER trig2 AFTER INSERT ON t2
-FOR EACH ROW BEGIN
-INSERT INTO t2 VALUES(1, ']]>');
-INSERT INTO t2 VALUES(2, '<![CDATA]]>');
-INSERT INTO t2 VALUES(3, '<![CDATA[');
-INSERT INTO t2 VALUES(4, '< > & \ " _');
-END;
-|
-# Views
-CREATE VIEW v1 AS SELECT * FROM t1;
-CREATE VIEW v2 AS SELECT * FROM t2;
-
-# Dumping BUG52792 database in xml format.
-
-# Running 'replace_regex on timestamp'
-<?xml version="1.0"?>
-<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-<database name="BUG52792">
-	<table_structure name="t1">
-		<field Field="c1" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
-		<field Field="c2" Type="varchar(20)" Null="YES" Key="" Extra="" Comment="" />
-		<options Name="t1" Engine="MyISAM" Version="10" Row_format="Dynamic" Rows="3" Avg_row_length="20" Data_length="60" Max_data_length="281474976710655" Index_length="1024" Data_free="0" Create_time="--TIME--" Update_time="--TIME--" Collation="latin1_swedish_ci" Create_options="" Comment="" />
-	</table_structure>
-	<table_data name="t1">
-	<row>
-		<field name="c1">1</field>
-		<field name="c2">aaa</field>
-	</row>
-	<row>
-		<field name="c1">2</field>
-		<field name="c2">bbb</field>
-	</row>
-	<row>
-		<field name="c1">3</field>
-		<field name="c2">ccc</field>
-	</row>
-	</table_data>
-	<table_structure name="t2">
-		<field Field="c1" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
-		<options Name="t2" Engine="MyISAM" Version="10" Row_format="Fixed" Rows="3" Avg_row_length="7" Data_length="21" Max_data_length="1970324836974591" Index_length="1024" Data_free="0" Create_time="--TIME--" Update_time="--TIME--" Collation="latin1_swedish_ci" Create_options="" Comment="" />
-	</table_structure>
-	<table_data name="t2">
-	<row>
-		<field name="c1">1</field>
-	</row>
-	<row>
-		<field name="c1">2</field>
-	</row>
-	<row>
-		<field name="c1">3</field>
-	</row>
-	</table_data>
-	<triggers name="t2">
-		<trigger Trigger="trig1" sql_mode="" character_set_client="latin1" collation_connection="latin1_swedish_ci" Database_Collation="latin1_swedish_ci">
-<![CDATA[
-CREATE DEFINER=`root`@`localhost` TRIGGER trig1 BEFORE INSERT ON t2
-FOR EACH ROW BEGIN
-INSERT INTO t2 VALUES(1);
-END
-]]>
-		</trigger>
-		<trigger Trigger="trig2" sql_mode="" character_set_client="latin1" collation_connection="latin1_swedish_ci" Database_Collation="latin1_swedish_ci">
-<![CDATA[
-CREATE DEFINER=`root`@`localhost` TRIGGER trig2 AFTER INSERT ON t2
-FOR EACH ROW BEGIN
-INSERT INTO t2 VALUES(1, ']]]]><![CDATA[>');
-INSERT INTO t2 VALUES(2, '<![CDATA]]]]><![CDATA[>');
-INSERT INTO t2 VALUES(3, '<![CDATA[');
-INSERT INTO t2 VALUES(4, '< > & \ " _');
-END
-]]>
-		</trigger>
-	</triggers>
-	<table_structure name="v1">
-		<field Field="c1" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
-		<field Field="c2" Type="varchar(20)" Null="YES" Key="" Extra="" Comment="" />
-		<options Name="v1" Comment="VIEW" />
-	</table_structure>
-	<table_structure name="v2">
-		<field Field="c1" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
-		<options Name="v2" Comment="VIEW" />
-	</table_structure>
-	<events>
-		<event Event="e1" sql_mode="" time_zone="SYSTEM" character_set_client="latin1" collation_connection="latin1_swedish_ci" Database_Collation="latin1_swedish_ci">
-<![CDATA[
-CREATE DEFINER=`root`@`localhost` EVENT `e1` ON SCHEDULE EVERY 1 SECOND STARTS '--TIME--' ON COMPLETION NOT PRESERVE ENABLE DO DROP DATABASE BUG52792
-]]>
-		</event>
-		<event Event="e2" sql_mode="" time_zone="SYSTEM" character_set_client="latin1" collation_connection="latin1_swedish_ci" Database_Collation="latin1_swedish_ci">
-<![CDATA[
-CREATE DEFINER=`root`@`localhost` EVENT `e2` ON SCHEDULE EVERY 1 SECOND STARTS '--TIME--' ON COMPLETION NOT PRESERVE ENABLE DO DROP DATABASE BUG52792
-]]>
-		</event>
-	</events>
-	<routines>
-		<routine Function="hello1" sql_mode="" character_set_client="latin1" collation_connection="latin1_swedish_ci" Database_Collation="latin1_swedish_ci">
-<![CDATA[
-CREATE DEFINER=`root`@`localhost` FUNCTION `hello1`(s CHAR(20)) RETURNS char(50) CHARSET latin1
-    DETERMINISTIC
-RETURN CONCAT('Hello, ' ,s ,'!')
-]]>
-		</routine>
-		<routine Function="hello2" sql_mode="" character_set_client="latin1" collation_connection="latin1_swedish_ci" Database_Collation="latin1_swedish_ci">
-<![CDATA[
-CREATE DEFINER=`root`@`localhost` FUNCTION `hello2`(s CHAR(20)) RETURNS char(50) CHARSET latin1
-    DETERMINISTIC
-RETURN CONCAT(']]]]><![CDATA[>, ' , s ,'!')
-]]>
-		</routine>
-		<routine Procedure="simpleproc1" sql_mode="" character_set_client="latin1" collation_connection="latin1_swedish_ci" Database_Collation="latin1_swedish_ci">
-<![CDATA[
-CREATE DEFINER=`root`@`localhost` PROCEDURE `simpleproc1`(OUT param1 INT)
-BEGIN
-SELECT COUNT(*) INTO param1 FROM t1;
-END
-]]>
-		</routine>
-		<routine Procedure="simpleproc2" sql_mode="" character_set_client="latin1" collation_connection="latin1_swedish_ci" Database_Collation="latin1_swedish_ci">
-<![CDATA[
-CREATE DEFINER=`root`@`localhost` PROCEDURE `simpleproc2`(OUT param1 INT)
-BEGIN
-SELECT COUNT(*) INTO param1 FROM t2;
-END
-]]>
-		</routine>
-	</routines>
-</database>
-</mysqldump>
-
-# Dumping BUG52792 database in xml format with comments.
-
-# Running 'replace_regex on timestamp'
-<?xml version="1.0"?>
-<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-<database name="BUG52792">
-<!-- 
--
-- Table structure for table `t1`
--
-
- -->
-	<table_structure name="t1">
-		<field Field="c1" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
-		<field Field="c2" Type="varchar(20)" Null="YES" Key="" Extra="" Comment="" />
-		<options Name="t1" Engine="MyISAM" Version="10" Row_format="Dynamic" Rows="3" Avg_row_length="20" Data_length="60" Max_data_length="281474976710655" Index_length="1024" Data_free="0" Create_time="--TIME--" Update_time="--TIME--" Collation="latin1_swedish_ci" Create_options="" Comment="" />
-	</table_structure>
-<!-- 
--
-- Dumping data for table `t1`
--
- -->
-	<table_data name="t1">
-	<row>
-		<field name="c1">1</field>
-		<field name="c2">aaa</field>
-	</row>
-	<row>
-		<field name="c1">2</field>
-		<field name="c2">bbb</field>
-	</row>
-	<row>
-		<field name="c1">3</field>
-		<field name="c2">ccc</field>
-	</row>
-	</table_data>
-<!-- 
--
-- Table structure for table `t2`
--
-
- -->
-	<table_structure name="t2">
-		<field Field="c1" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
-		<options Name="t2" Engine="MyISAM" Version="10" Row_format="Fixed" Rows="3" Avg_row_length="7" Data_length="21" Max_data_length="1970324836974591" Index_length="1024" Data_free="0" Create_time="--TIME--" Update_time="--TIME--" Collation="latin1_swedish_ci" Create_options="" Comment="" />
-	</table_structure>
-<!-- 
--
-- Dumping data for table `t2`
--
- -->
-	<table_data name="t2">
-	<row>
-		<field name="c1">1</field>
-	</row>
-	<row>
-		<field name="c1">2</field>
-	</row>
-	<row>
-		<field name="c1">3</field>
-	</row>
-	</table_data>
-	<triggers name="t2">
-		<trigger Trigger="trig1" sql_mode="" character_set_client="latin1" collation_connection="latin1_swedish_ci" Database_Collation="latin1_swedish_ci">
-<![CDATA[
-CREATE DEFINER=`root`@`localhost` TRIGGER trig1 BEFORE INSERT ON t2
-FOR EACH ROW BEGIN
-INSERT INTO t2 VALUES(1);
-END
-]]>
-		</trigger>
-		<trigger Trigger="trig2" sql_mode="" character_set_client="latin1" collation_connection="latin1_swedish_ci" Database_Collation="latin1_swedish_ci">
-<![CDATA[
-CREATE DEFINER=`root`@`localhost` TRIGGER trig2 AFTER INSERT ON t2
-FOR EACH ROW BEGIN
-INSERT INTO t2 VALUES(1, ']]]]><![CDATA[>');
-INSERT INTO t2 VALUES(2, '<![CDATA]]]]><![CDATA[>');
-INSERT INTO t2 VALUES(3, '<![CDATA[');
-INSERT INTO t2 VALUES(4, '< > & \ " _');
-END
-]]>
-		</trigger>
-	</triggers>
-<!-- 
--
-- Table structure for table `v1`
--
-
- -->
-	<table_structure name="v1">
-		<field Field="c1" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
-		<field Field="c2" Type="varchar(20)" Null="YES" Key="" Extra="" Comment="" />
-		<options Name="v1" Comment="VIEW" />
-	</table_structure>
-<!-- 
--
-- Table structure for table `v2`
--
-
- -->
-	<table_structure name="v2">
-		<field Field="c1" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
-		<options Name="v2" Comment="VIEW" />
-	</table_structure>
-<!-- 
--
-- Dumping events for database 'BUG52792'
--
- -->
-	<events>
-		<event Event="e1" sql_mode="" time_zone="SYSTEM" character_set_client="latin1" collation_connection="latin1_swedish_ci" Database_Collation="latin1_swedish_ci">
-<![CDATA[
-CREATE DEFINER=`root`@`localhost` EVENT `e1` ON SCHEDULE EVERY 1 SECOND STARTS '--TIME--' ON COMPLETION NOT PRESERVE ENABLE DO DROP DATABASE BUG52792
-]]>
-		</event>
-		<event Event="e2" sql_mode="" time_zone="SYSTEM" character_set_client="latin1" collation_connection="latin1_swedish_ci" Database_Collation="latin1_swedish_ci">
-<![CDATA[
-CREATE DEFINER=`root`@`localhost` EVENT `e2` ON SCHEDULE EVERY 1 SECOND STARTS '--TIME--' ON COMPLETION NOT PRESERVE ENABLE DO DROP DATABASE BUG52792
-]]>
-		</event>
-	</events>
-<!-- 
--
-- Dumping routines for database 'BUG52792'
--
- -->
-	<routines>
-		<routine Function="hello1" sql_mode="" character_set_client="latin1" collation_connection="latin1_swedish_ci" Database_Collation="latin1_swedish_ci">
-<![CDATA[
-CREATE DEFINER=`root`@`localhost` FUNCTION `hello1`(s CHAR(20)) RETURNS char(50) CHARSET latin1
-    DETERMINISTIC
-RETURN CONCAT('Hello, ' ,s ,'!')
-]]>
-		</routine>
-		<routine Function="hello2" sql_mode="" character_set_client="latin1" collation_connection="latin1_swedish_ci" Database_Collation="latin1_swedish_ci">
-<![CDATA[
-CREATE DEFINER=`root`@`localhost` FUNCTION `hello2`(s CHAR(20)) RETURNS char(50) CHARSET latin1
-    DETERMINISTIC
-RETURN CONCAT(']]]]><![CDATA[>, ' , s ,'!')
-]]>
-		</routine>
-		<routine Procedure="simpleproc1" sql_mode="" character_set_client="latin1" collation_connection="latin1_swedish_ci" Database_Collation="latin1_swedish_ci">
-<![CDATA[
-CREATE DEFINER=`root`@`localhost` PROCEDURE `simpleproc1`(OUT param1 INT)
-BEGIN
-SELECT COUNT(*) INTO param1 FROM t1;
-END
-]]>
-		</routine>
-		<routine Procedure="simpleproc2" sql_mode="" character_set_client="latin1" collation_connection="latin1_swedish_ci" Database_Collation="latin1_swedish_ci">
-<![CDATA[
-CREATE DEFINER=`root`@`localhost` PROCEDURE `simpleproc2`(OUT param1 INT)
-BEGIN
-SELECT COUNT(*) INTO param1 FROM t2;
-END
-]]>
-		</routine>
-	</routines>
-</database>
-</mysqldump>
-
-# Test to check 'Insufficient privileges' error.
-
-GRANT ALL PRIVILEGES ON BUG52792.* TO user1;
-# Running 'replace_regex on timestamp'
-<?xml version="1.0"?>
-<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-<database name="BUG52792">
-	<table_structure name="t1">
-		<field Field="c1" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
-		<field Field="c2" Type="varchar(20)" Null="YES" Key="" Extra="" Comment="" />
-		<options Name="t1" Engine="MyISAM" Version="10" Row_format="Dynamic" Rows="3" Avg_row_length="20" Data_length="60" Max_data_length="281474976710655" Index_length="1024" Data_free="0" Create_time="--TIME--" Update_time="--TIME--" Collation="latin1_swedish_ci" Create_options="" Comment="" />
-	</table_structure>
-	<table_data name="t1">
-	<row>
-		<field name="c1">1</field>
-		<field name="c2">aaa</field>
-	</row>
-	<row>
-		<field name="c1">2</field>
-		<field name="c2">bbb</field>
-	</row>
-	<row>
-		<field name="c1">3</field>
-		<field name="c2">ccc</field>
-	</row>
-	</table_data>
-	<table_structure name="t2">
-		<field Field="c1" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
-		<options Name="t2" Engine="MyISAM" Version="10" Row_format="Fixed" Rows="3" Avg_row_length="7" Data_length="21" Max_data_length="1970324836974591" Index_length="1024" Data_free="0" Create_time="--TIME--" Update_time="--TIME--" Collation="latin1_swedish_ci" Create_options="" Comment="" />
-	</table_structure>
-	<table_data name="t2">
-	<row>
-		<field name="c1">1</field>
-	</row>
-	<row>
-		<field name="c1">2</field>
-	</row>
-	<row>
-		<field name="c1">3</field>
-	</row>
-	</table_data>
-	<triggers name="t2">
-		<trigger Trigger="trig1" sql_mode="" character_set_client="latin1" collation_connection="latin1_swedish_ci" Database_Collation="latin1_swedish_ci">
-<![CDATA[
-CREATE DEFINER=`root`@`localhost` TRIGGER trig1 BEFORE INSERT ON t2
-FOR EACH ROW BEGIN
-INSERT INTO t2 VALUES(1);
-END
-]]>
-		</trigger>
-		<trigger Trigger="trig2" sql_mode="" character_set_client="latin1" collation_connection="latin1_swedish_ci" Database_Collation="latin1_swedish_ci">
-<![CDATA[
-CREATE DEFINER=`root`@`localhost` TRIGGER trig2 AFTER INSERT ON t2
-FOR EACH ROW BEGIN
-INSERT INTO t2 VALUES(1, ']]]]><![CDATA[>');
-INSERT INTO t2 VALUES(2, '<![CDATA]]]]><![CDATA[>');
-INSERT INTO t2 VALUES(3, '<![CDATA[');
-INSERT INTO t2 VALUES(4, '< > & \ " _');
-END
-]]>
-		</trigger>
-	</triggers>
-	<table_structure name="v1">
-		<field Field="c1" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
-		<field Field="c2" Type="varchar(20)" Null="YES" Key="" Extra="" Comment="" />
-		<options Name="v1" Comment="VIEW" />
-	</table_structure>
-	<table_structure name="v2">
-		<field Field="c1" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
-		<options Name="v2" Comment="VIEW" />
-	</table_structure>
-	<events>
-		<event Event="e1" sql_mode="" time_zone="SYSTEM" character_set_client="latin1" collation_connection="latin1_swedish_ci" Database_Collation="latin1_swedish_ci">
-<![CDATA[
-CREATE DEFINER=`root`@`localhost` EVENT `e1` ON SCHEDULE EVERY 1 SECOND STARTS '--TIME--' ON COMPLETION NOT PRESERVE ENABLE DO DROP DATABASE BUG52792
-]]>
-		</event>
-		<event Event="e2" sql_mode="" time_zone="SYSTEM" character_set_client="latin1" collation_connection="latin1_swedish_ci" Database_Collation="latin1_swedish_ci">
-<![CDATA[
-CREATE DEFINER=`root`@`localhost` EVENT `e2` ON SCHEDULE EVERY 1 SECOND STARTS '--TIME--' ON COMPLETION NOT PRESERVE ENABLE DO DROP DATABASE BUG52792
-]]>
-		</event>
-	</events>
-	<routines>
-<!-- 
-- insufficient privileges to SHOW CREATE FUNCTION `hello1`
- -->
-<!-- - does user1 have permissions on mysql.proc?
-
- -->
-DROP USER user1;
-DROP DATABASE BUG52792;
-# UTF-8
-CREATE DATABASE BUG52792;
-USE BUG52792;
-SET NAMES utf8;
-CREATE FUNCTION `straße` ( c1 CHAR(20))
-RETURNS CHAR(50) DETERMINISTIC
-RETURN CONCAT(']]>, ', s, '!');
-<?xml version="1.0"?>
-<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-<database name="BUG52792">
-	<routines>
-		<routine Function="straße" sql_mode="" character_set_client="utf8" collation_connection="utf8_general_ci" Database_Collation="latin1_swedish_ci">
-<![CDATA[
-CREATE DEFINER=`root`@`localhost` FUNCTION `straße`( c1 CHAR(20)) RETURNS char(50) CHARSET latin1
-    DETERMINISTIC
-RETURN CONCAT(']]]]><![CDATA[>, ', s, '!')
-]]>
-		</routine>
-	</routines>
-</database>
-</mysqldump>
-DROP DATABASE BUG52792;
-USE test;
-#
-# End of 5.1 tests
-#
-#
-# Verify that two modes can be given in --compatible;
-# and are reflected in SET SQL_MODE in the mysqldump output.
-# Also verify that a prefix of the mode's name is enough.
-#
-CREATE TABLE t1 (a INT);
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL
-);
-/*!40101 SET character_set_client = @saved_cs_client */;
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
-DROP TABLE t1;
-#
-# Bug#12809202 61854: MYSQLDUMP --SINGLE-TRANSACTION --FLUSH-LOG BREAKS
-#                     CONSISTENCY
-#
-DROP DATABASE IF EXISTS b12809202_db;
-CREATE DATABASE b12809202_db;
-CREATE TABLE b12809202_db.t1 (c1 INT);
-CREATE TABLE b12809202_db.t2 (c1 INT);
-INSERT INTO b12809202_db.t1 VALUES (1), (2), (3);
-INSERT INTO b12809202_db.t2 VALUES (1), (2), (3);
-# Starting mysqldump with --single-transaction & --flush-log options..
-# Note : In the following dump the transaction
-#        should start only after the logs are
-#        flushed, as 'flush logs' causes implicit
-#        commit starting 5.5.
-
-#### Dump starts here ####
--- Connecting to localhost...
--- main : logs flushed successfully!
--- Starting transaction...
--- Retrieving table structure for table t1...
--- Sending SELECT query...
--- Retrieving rows...
---
--- Host: localhost    Database: b12809202_db
--- ------------------------------------------------------
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-
---
--- Table structure for table `t1`
---
-
-DROP TABLE IF EXISTS `t1`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t1` (
-  `c1` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `t1`
---
-
-LOCK TABLES `t1` WRITE;
-/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
-INSERT INTO `t1` VALUES (1),(2),(3);
--- Retrieving table structure for table t2...
--- Sending SELECT query...
--- Retrieving rows...
-/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
--- Table structure for table `t2`
---
-
-DROP TABLE IF EXISTS `t2`;
-/*!40101 SET @saved_cs_client     = @@character_set_client */;
-/*!40101 SET character_set_client = utf8 */;
-CREATE TABLE `t2` (
-  `c1` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `t2`
---
-
-LOCK TABLES `t2` WRITE;
-/*!40000 ALTER TABLE `t2` DISABLE KEYS */;
-INSERT INTO `t2` VALUES (1),(2),(3);
-/*!40000 ALTER TABLE `t2` ENABLE KEYS */;
-UNLOCK TABLES;
--- Disconnecting from localhost...
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-
--- Dump completed
-#### Dump ends here ####
-DROP TABLE b12809202_db.t1;
-DROP TABLE b12809202_db.t2;
-DROP DATABASE b12809202_db;
-#
-# Delete all existing binary logs.
-#
-RESET MASTER;

=== removed directory '.pc/fix-mysqldump-test.patch/mysql-test/t'
=== removed file '.pc/fix-mysqldump-test.patch/mysql-test/t/mysqldump.test'
--- .pc/fix-mysqldump-test.patch/mysql-test/t/mysqldump.test	2012-03-29 17:31:30 +0000
+++ .pc/fix-mysqldump-test.patch/mysql-test/t/mysqldump.test	1970-01-01 00:00:00 +0000
@@ -1,2369 +0,0 @@
-# Embedded server doesn't support external clients
---source include/not_embedded.inc
-
-# Binlog is required
---source include/have_log_bin.inc
-
-# Save the initial number of concurrent sessions
---source include/count_sessions.inc
-
-disable_query_log;
-call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
-enable_query_log;
-
---echo # Bug#37938 Test "mysqldump" lacks various insert statements
---echo # Turn off concurrent inserts to avoid random errors
---echo # NOTE:  We reset the variable back to saved value at the end of test
-SET @OLD_CONCURRENT_INSERT = @@GLOBAL.CONCURRENT_INSERT;
-SET @@GLOBAL.CONCURRENT_INSERT = 0;
-
-
---disable_warnings
-DROP TABLE IF EXISTS t1, `"t"1`, t1aa, t2, t2aa, t3;
-drop database if exists mysqldump_test_db;
-drop database if exists db1;
-drop database if exists db2;
-drop view if exists v1, v2, v3;
---enable_warnings
-
-# XML output
-
-CREATE TABLE t1(a INT, KEY (a)) KEY_BLOCK_SIZE=1024;
-INSERT INTO t1 VALUES (1), (2);
---exec $MYSQL_DUMP --skip-create --skip-comments -X test t1
-DROP TABLE t1;
-
---echo #
---echo # Bug#2005 Long decimal comparison bug.
---echo #
-
-CREATE TABLE t1 (a decimal(64, 20));
-INSERT INTO t1 VALUES ("1234567890123456789012345678901234567890"),
-("0987654321098765432109876543210987654321");
---exec $MYSQL_DUMP --compact test t1
-DROP TABLE t1;
-
---echo #
---echo # Bug#2055 mysqldump should replace "-inf" numeric field values with "NULL"
---echo #
-
-CREATE TABLE t1 (a double);
-INSERT INTO t1 VALUES ('-9e999999');
---exec $MYSQL_DUMP --compact test t1
-DROP TABLE t1;
-
---echo #
---echo # Bug#3361 mysqldump quotes DECIMAL values inconsistently
---echo #
-
-CREATE TABLE t1 (a DECIMAL(10,5), b FLOAT);
-
-# check at first how mysql work with quoted decimal
-
-INSERT INTO t1 VALUES (1.2345, 2.3456);
-INSERT INTO t1 VALUES ('1.2345', 2.3456);
-INSERT INTO t1 VALUES ("1.2345", 2.3456);
-
-SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ANSI_QUOTES';
-INSERT INTO t1 VALUES (1.2345, 2.3456);
-INSERT INTO t1 VALUES ('1.2345', 2.3456);
---error ER_BAD_FIELD_ERROR
-INSERT INTO t1 VALUES ("1.2345", 2.3456);
-SET SQL_MODE=@OLD_SQL_MODE;
-
-# check how mysqldump make quoting
---exec $MYSQL_DUMP --compact test t1
---exec $MYSQL_DUMP --compact --skip-create test t1
---exec $MYSQL_DUMP --skip-create --skip-comments test t1
---exec $MYSQL_DUMP --skip-opt --extended-insert --skip-comments test t1
-DROP TABLE t1;
-
-CREATE TABLE t1(a int, b text, c varchar(3));
-INSERT INTO t1 VALUES (1, "test", "tes"), (2, "TEST", "TES");
---exec $MYSQL_DUMP --skip-create --compact -X test t1
-DROP TABLE t1;
-
---echo #
---echo # Bug#1707 mysqldump -X does't quote field and table names
---echo #
-
-CREATE TABLE t1 (`a"b"` char(2));
-INSERT INTO t1 VALUES ("1\""), ("\"2");
---exec $MYSQL_DUMP --compact --skip-create -X test t1
-DROP TABLE t1;
-
---echo #
---echo # Bug#1994 mysqldump does not correctly dump UCS2 data
---echo # Bug#4261 mysqldump 10.7 (mysql 4.1.2) --skip-extended-insert drops NULL from inserts
---echo #
-
-CREATE TABLE t1 (a  VARCHAR(255)) DEFAULT CHARSET koi8r;
-INSERT INTO t1  VALUES (_koi8r x'C1C2C3C4C5'), (NULL);
---exec $MYSQL_DUMP --skip-comments --skip-extended-insert test t1
-DROP TABLE t1;
-
---echo #
---echo # Bug#2634 mysqldump in --compatible=mysql4
---echo #
-
-CREATE TABLE t1 (a int) ENGINE=MYISAM;
-INSERT INTO t1 VALUES (1), (2);
---exec $MYSQL_DUMP --skip-comments --compatible=mysql40 test t1
---exec $MYSQL_DUMP --skip-comments --compatible=mysql323 test t1
-DROP TABLE t1;
-
---echo #
---echo # Bug#2592 mysqldump doesn't quote "tricky" names correctly
---echo #
-
-create table ```a` (i int);
---exec $MYSQL_DUMP --compact test
-drop table ```a`;
-
---echo #
---echo # Bug#2591 mysqldump quotes names inconsistently
---echo #
-
-create table t1(a int);
---exec $MYSQL_DUMP --comments=0 test
---exec $MYSQL_DUMP --comments=0 --compatible=ansi test
-set global sql_mode='ANSI_QUOTES';
---exec $MYSQL_DUMP --comments=0 test
---exec $MYSQL_DUMP --comments=0 --compatible=ansi test
-set global sql_mode='';
-drop table t1;
-
---echo #
---echo # Bug#2705 mysqldump --tab extra output
---echo #
-
-create table t1(a int);
-insert into t1 values (1),(2),(3);
---exec $MYSQL_DUMP --skip-comments --tab=$MYSQLTEST_VARDIR/tmp/ test
---cat_file $MYSQLTEST_VARDIR/tmp/t1.sql
---cat_file $MYSQLTEST_VARDIR/tmp/t1.txt
---remove_file $MYSQLTEST_VARDIR/tmp/t1.sql
---remove_file $MYSQLTEST_VARDIR/tmp/t1.txt
---exec $MYSQL_DUMP --tab=$MYSQLTEST_VARDIR/tmp/ test
---remove_file $MYSQLTEST_VARDIR/tmp/t1.sql
---remove_file $MYSQLTEST_VARDIR/tmp/t1.txt
-drop table t1;
-
---echo #
---echo # Bug#6101 create database problem
---echo #
-
---exec $MYSQL_DUMP --skip-comments --databases test
-
-create database mysqldump_test_db character set latin2 collate latin2_bin;
---exec $MYSQL_DUMP --skip-comments --databases mysqldump_test_db
-drop database mysqldump_test_db;
-
---echo #
---echo # Bug#7020 mysqldump --compatible=mysql40 should set --skip-set-charset --default-char...
---echo # Check that we don't dump in UTF8 in compatible mode by default,
---echo # but use the default compiled values, or the values given in
---echo # --default-character-set=xxx. However, we should dump in UTF8
---echo # if it is explicitely set.
-
-CREATE TABLE t1 (a  CHAR(10));
-INSERT INTO t1  VALUES (_latin1 '');
---exec $MYSQL_DUMP --character-sets-dir=$MYSQL_SHAREDIR/charsets --skip-comments test t1
-
---echo #
---echo # Bug#8063 make test mysqldump [ fail ]
---echo # We cannot test this command because its output depends
---echo # on --default-character-set incompiled into "mysqldump" program.
---echo # If the future we can move this command into a separate test with
---echo # checking that "mysqldump" is compiled with "latin1"
---echo #
-
-#--exec $MYSQL_DUMP --character-sets-dir=$MYSQL_SHAREDIR/charsets --skip-comments --compatible=mysql323 test t1
---exec $MYSQL_DUMP --character-sets-dir=$MYSQL_SHAREDIR/charsets --skip-comments --compatible=mysql323 --default-character-set=cp850 test t1
---exec $MYSQL_DUMP --character-sets-dir=$MYSQL_SHAREDIR/charsets --skip-comments --default-character-set=cp850 --compatible=mysql323 test t1
---exec $MYSQL_DUMP --character-sets-dir=$MYSQL_SHAREDIR/charsets --skip-comments --default-character-set=utf8 --compatible=mysql323 test t1
-DROP TABLE t1;
-
---echo #
---echo # WL#2319 Exclude Tables from dump
---echo #
-
-CREATE TABLE t1 (a int);
-CREATE TABLE t2 (a int);
-INSERT INTO t1 VALUES (1),(2),(3);
-INSERT INTO t2 VALUES (4),(5),(6);
---exec $MYSQL_DUMP --skip-comments --ignore-table=test.t1 test
-DROP TABLE t1;
-DROP TABLE t2;
-
---echo #
---echo # Bug#8830 mysqldump --skip-extended-insert causes --hex-blob to dump wrong values
---echo #
-
-CREATE TABLE t1 (`b` blob);
-INSERT INTO `t1` VALUES (0x602010000280100005E71A);
---exec $MYSQL_DUMP --skip-extended-insert --hex-blob test --skip-comments t1
-DROP TABLE t1;
-
---echo #
---echo # Test for --insert-ignore
---echo #
-
-CREATE TABLE t1 (a INT);
-INSERT INTO t1 VALUES (1),(2),(3);
-INSERT INTO t1 VALUES (4),(5),(6);
---exec $MYSQL_DUMP --skip-comments --insert-ignore test t1
---exec $MYSQL_DUMP --skip-comments --insert-ignore --delayed-insert test t1
-DROP TABLE t1;
-
---echo #
---echo # Bug#10286 mysqldump -c crashes on table that has many fields with long
---echo #           names
---echo #
-create table t1 (
- F_c4ca4238a0b923820dcc509a6f75849b int,
- F_c81e728d9d4c2f636f067f89cc14862c int,
- F_eccbc87e4b5ce2fe28308fd9f2a7baf3 int,
- F_a87ff679a2f3e71d9181a67b7542122c int,
- F_e4da3b7fbbce2345d7772b0674a318d5 int,
- F_1679091c5a880faf6fb5e6087eb1b2dc int,
- F_8f14e45fceea167a5a36dedd4bea2543 int,
- F_c9f0f895fb98ab9159f51fd0297e236d int,
- F_45c48cce2e2d7fbdea1afc51c7c6ad26 int,
- F_d3d9446802a44259755d38e6d163e820 int,
- F_6512bd43d9caa6e02c990b0a82652dca int,
- F_c20ad4d76fe97759aa27a0c99bff6710 int,
- F_c51ce410c124a10e0db5e4b97fc2af39 int,
- F_aab3238922bcc25a6f606eb525ffdc56 int,
- F_9bf31c7ff062936a96d3c8bd1f8f2ff3 int,
- F_c74d97b01eae257e44aa9d5bade97baf int,
- F_70efdf2ec9b086079795c442636b55fb int,
- F_6f4922f45568161a8cdf4ad2299f6d23 int,
- F_1f0e3dad99908345f7439f8ffabdffc4 int,
- F_98f13708210194c475687be6106a3b84 int,
- F_3c59dc048e8850243be8079a5c74d079 int,
- F_b6d767d2f8ed5d21a44b0e5886680cb9 int,
- F_37693cfc748049e45d87b8c7d8b9aacd int,
- F_1ff1de774005f8da13f42943881c655f int,
- F_8e296a067a37563370ded05f5a3bf3ec int,
- F_4e732ced3463d06de0ca9a15b6153677 int,
- F_02e74f10e0327ad868d138f2b4fdd6f0 int,
- F_33e75ff09dd601bbe69f351039152189 int,
- F_6ea9ab1baa0efb9e19094440c317e21b int,
- F_34173cb38f07f89ddbebc2ac9128303f int,
- F_c16a5320fa475530d9583c34fd356ef5 int,
- F_6364d3f0f495b6ab9dcf8d3b5c6e0b01 int,
- F_182be0c5cdcd5072bb1864cdee4d3d6e int,
- F_e369853df766fa44e1ed0ff613f563bd int,
- F_1c383cd30b7c298ab50293adfecb7b18 int,
- F_19ca14e7ea6328a42e0eb13d585e4c22 int,
- F_a5bfc9e07964f8dddeb95fc584cd965d int,
- F_a5771bce93e200c36f7cd9dfd0e5deaa int,
- F_d67d8ab4f4c10bf22aa353e27879133c int,
- F_d645920e395fedad7bbbed0eca3fe2e0 int,
- F_3416a75f4cea9109507cacd8e2f2aefc int,
- F_a1d0c6e83f027327d8461063f4ac58a6 int,
- F_17e62166fc8586dfa4d1bc0e1742c08b int,
- F_f7177163c833dff4b38fc8d2872f1ec6 int,
- F_6c8349cc7260ae62e3b1396831a8398f int,
- F_d9d4f495e875a2e075a1a4a6e1b9770f int,
- F_67c6a1e7ce56d3d6fa748ab6d9af3fd7 int,
- F_642e92efb79421734881b53e1e1b18b6 int,
- F_f457c545a9ded88f18ecee47145a72c0 int,
- F_c0c7c76d30bd3dcaefc96f40275bdc0a int,
- F_2838023a778dfaecdc212708f721b788 int,
- F_9a1158154dfa42caddbd0694a4e9bdc8 int,
- F_d82c8d1619ad8176d665453cfb2e55f0 int,
- F_a684eceee76fc522773286a895bc8436 int,
- F_b53b3a3d6ab90ce0268229151c9bde11 int,
- F_9f61408e3afb633e50cdf1b20de6f466 int,
- F_72b32a1f754ba1c09b3695e0cb6cde7f int,
- F_66f041e16a60928b05a7e228a89c3799 int,
- F_093f65e080a295f8076b1c5722a46aa2 int,
- F_072b030ba126b2f4b2374f342be9ed44 int,
- F_7f39f8317fbdb1988ef4c628eba02591 int,
- F_44f683a84163b3523afe57c2e008bc8c int,
- F_03afdbd66e7929b125f8597834fa83a4 int,
- F_ea5d2f1c4608232e07d3aa3d998e5135 int,
- F_fc490ca45c00b1249bbe3554a4fdf6fb int,
- F_3295c76acbf4caaed33c36b1b5fc2cb1 int,
- F_735b90b4568125ed6c3f678819b6e058 int,
- F_a3f390d88e4c41f2747bfa2f1b5f87db int,
- F_14bfa6bb14875e45bba028a21ed38046 int,
- F_7cbbc409ec990f19c78c75bd1e06f215 int,
- F_e2c420d928d4bf8ce0ff2ec19b371514 int,
- F_32bb90e8976aab5298d5da10fe66f21d int,
- F_d2ddea18f00665ce8623e36bd4e3c7c5 int,
- F_ad61ab143223efbc24c7d2583be69251 int,
- F_d09bf41544a3365a46c9077ebb5e35c3 int,
- F_fbd7939d674997cdb4692d34de8633c4 int,
- F_28dd2c7955ce926456240b2ff0100bde int,
- F_35f4a8d465e6e1edc05f3d8ab658c551 int,
- F_d1fe173d08e959397adf34b1d77e88d7 int,
- F_f033ab37c30201f73f142449d037028d int,
- F_43ec517d68b6edd3015b3edc9a11367b int,
- F_9778d5d219c5080b9a6a17bef029331c int,
- F_fe9fc289c3ff0af142b6d3bead98a923 int,
- F_68d30a9594728bc39aa24be94b319d21 int,
- F_3ef815416f775098fe977004015c6193 int,
- F_93db85ed909c13838ff95ccfa94cebd9 int,
- F_c7e1249ffc03eb9ded908c236bd1996d int,
- F_2a38a4a9316c49e5a833517c45d31070 int,
- F_7647966b7343c29048673252e490f736 int,
- F_8613985ec49eb8f757ae6439e879bb2a int,
- F_54229abfcfa5649e7003b83dd4755294 int,
- F_92cc227532d17e56e07902b254dfad10 int,
- F_98dce83da57b0395e163467c9dae521b int,
- F_f4b9ec30ad9f68f89b29639786cb62ef int,
- F_812b4ba287f5ee0bc9d43bbf5bbe87fb int,
- F_26657d5ff9020d2abefe558796b99584 int,
- F_e2ef524fbf3d9fe611d5a8e90fefdc9c int,
- F_ed3d2c21991e3bef5e069713af9fa6ca int,
- F_ac627ab1ccbdb62ec96e702f07f6425b int,
- F_f899139df5e1059396431415e770c6dd int,
- F_38b3eff8baf56627478ec76a704e9b52 int,
- F_ec8956637a99787bd197eacd77acce5e int,
- F_6974ce5ac660610b44d9b9fed0ff9548 int,
- F_c9e1074f5b3f9fc8ea15d152add07294 int,
- F_65b9eea6e1cc6bb9f0cd2a47751a186f int,
- F_f0935e4cd5920aa6c7c996a5ee53a70f int,
- F_a97da629b098b75c294dffdc3e463904 int,
- F_a3c65c2974270fd093ee8a9bf8ae7d0b int,
- F_2723d092b63885e0d7c260cc007e8b9d int,
- F_5f93f983524def3dca464469d2cf9f3e int,
- F_698d51a19d8a121ce581499d7b701668 int,
- F_7f6ffaa6bb0b408017b62254211691b5 int,
- F_73278a4a86960eeb576a8fd4c9ec6997 int,
- F_5fd0b37cd7dbbb00f97ba6ce92bf5add int,
- F_2b44928ae11fb9384c4cf38708677c48 int,
- F_c45147dee729311ef5b5c3003946c48f int,
- F_eb160de1de89d9058fcb0b968dbbbd68 int,
- F_5ef059938ba799aaa845e1c2e8a762bd int,
- F_07e1cd7dca89a1678042477183b7ac3f int,
- F_da4fb5c6e93e74d3df8527599fa62642 int,
- F_4c56ff4ce4aaf9573aa5dff913df997a int,
- F_a0a080f42e6f13b3a2df133f073095dd int,
- F_202cb962ac59075b964b07152d234b70 int,
- F_c8ffe9a587b126f152ed3d89a146b445 int,
- F_3def184ad8f4755ff269862ea77393dd int,
- F_069059b7ef840f0c74a814ec9237b6ec int,
- F_ec5decca5ed3d6b8079e2e7e7bacc9f2 int,
- F_76dc611d6ebaafc66cc0879c71b5db5c int,
- F_d1f491a404d6854880943e5c3cd9ca25 int,
- F_9b8619251a19057cff70779273e95aa6 int,
- F_1afa34a7f984eeabdbb0a7d494132ee5 int,
- F_65ded5353c5ee48d0b7d48c591b8f430 int,
- F_9fc3d7152ba9336a670e36d0ed79bc43 int,
- F_02522a2b2726fb0a03bb19f2d8d9524d int,
- F_7f1de29e6da19d22b51c68001e7e0e54 int,
- F_42a0e188f5033bc65bf8d78622277c4e int,
- F_3988c7f88ebcb58c6ce932b957b6f332 int,
- F_013d407166ec4fa56eb1e1f8cbe183b9 int,
- F_e00da03b685a0dd18fb6a08af0923de0 int,
- F_1385974ed5904a438616ff7bdb3f7439 int,
- F_0f28b5d49b3020afeecd95b4009adf4c int,
- F_a8baa56554f96369ab93e4f3bb068c22 int,
- F_903ce9225fca3e988c2af215d4e544d3 int,
- F_0a09c8844ba8f0936c20bd791130d6b6 int,
- F_2b24d495052a8ce66358eb576b8912c8 int,
- F_a5e00132373a7031000fd987a3c9f87b int,
- F_8d5e957f297893487bd98fa830fa6413 int,
- F_47d1e990583c9c67424d369f3414728e int,
- F_f2217062e9a397a1dca429e7d70bc6ca int,
- F_7ef605fc8dba5425d6965fbd4c8fbe1f int,
- F_a8f15eda80c50adb0e71943adc8015cf int,
- F_37a749d808e46495a8da1e5352d03cae int,
- F_b3e3e393c77e35a4a3f3cbd1e429b5dc int,
- F_1d7f7abc18fcb43975065399b0d1e48e int,
- F_2a79ea27c279e471f4d180b08d62b00a int,
- F_1c9ac0159c94d8d0cbedc973445af2da int,
- F_6c4b761a28b734fe93831e3fb400ce87 int,
- F_06409663226af2f3114485aa4e0a23b4 int,
- F_140f6969d5213fd0ece03148e62e461e int,
- F_b73ce398c39f506af761d2277d853a92 int,
- F_bd4c9ab730f5513206b999ec0d90d1fb int,
- F_82aa4b0af34c2313a562076992e50aa3 int,
- F_0777d5c17d4066b82ab86dff8a46af6f int,
- F_fa7cdfad1a5aaf8370ebeda47a1ff1c3 int,
- F_9766527f2b5d3e95d4a733fcfb77bd7e int,
- F_7e7757b1e12abcb736ab9a754ffb617a int,
- F_5878a7ab84fb43402106c575658472fa int,
- F_006f52e9102a8d3be2fe5614f42ba989 int,
- F_3636638817772e42b59d74cff571fbb3 int,
- F_149e9677a5989fd342ae44213df68868 int,
- F_a4a042cf4fd6bfb47701cbc8a1653ada int,
- F_1ff8a7b5dc7a7d1f0ed65aaa29c04b1e int,
- F_f7e6c85504ce6e82442c770f7c8606f0 int,
- F_bf8229696f7a3bb4700cfddef19fa23f int,
- F_82161242827b703e6acf9c726942a1e4 int,
- F_38af86134b65d0f10fe33d30dd76442e int,
- F_96da2f590cd7246bbde0051047b0d6f7 int,
- F_8f85517967795eeef66c225f7883bdcb int,
- F_8f53295a73878494e9bc8dd6c3c7104f int,
- F_045117b0e0a11a242b9765e79cbf113f int,
- F_fc221309746013ac554571fbd180e1c8 int,
- F_4c5bde74a8f110656874902f07378009 int,
- F_cedebb6e872f539bef8c3f919874e9d7 int,
- F_6cdd60ea0045eb7a6ec44c54d29ed402 int,
- F_eecca5b6365d9607ee5a9d336962c534 int,
- F_9872ed9fc22fc182d371c3e9ed316094 int,
- F_31fefc0e570cb3860f2a6d4b38c6490d int,
- F_9dcb88e0137649590b755372b040afad int,
- F_a2557a7b2e94197ff767970b67041697 int,
- F_cfecdb276f634854f3ef915e2e980c31 int,
- F_0aa1883c6411f7873cb83dacb17b0afc int,
- F_58a2fc6ed39fd083f55d4182bf88826d int,
- F_bd686fd640be98efaae0091fa301e613 int,
- F_a597e50502f5ff68e3e25b9114205d4a int,
- F_0336dcbab05b9d5ad24f4333c7658a0e int,
- F_084b6fbb10729ed4da8c3d3f5a3ae7c9 int,
- F_85d8ce590ad8981ca2c8286f79f59954 int,
- F_0e65972dce68dad4d52d063967f0a705 int,
- F_84d9ee44e457ddef7f2c4f25dc8fa865 int,
- F_3644a684f98ea8fe223c713b77189a77 int,
- F_757b505cfd34c64c85ca5b5690ee5293 int,
- F_854d6fae5ee42911677c739ee1734486 int,
- F_e2c0be24560d78c5e599c2a9c9d0bbd2 int,
- F_274ad4786c3abca69fa097b85867d9a4 int,
- F_eae27d77ca20db309e056e3d2dcd7d69 int,
- F_7eabe3a1649ffa2b3ff8c02ebfd5659f int,
- F_69adc1e107f7f7d035d7baf04342e1ca int,
- F_091d584fced301b442654dd8c23b3fc9 int,
- F_b1d10e7bafa4421218a51b1e1f1b0ba2 int,
- F_6f3ef77ac0e3619e98159e9b6febf557 int,
- F_eb163727917cbba1eea208541a643e74 int,
- F_1534b76d325a8f591b52d302e7181331 int,
- F_979d472a84804b9f647bc185a877a8b5 int,
- F_ca46c1b9512a7a8315fa3c5a946e8265 int,
- F_3b8a614226a953a8cd9526fca6fe9ba5 int,
- F_45fbc6d3e05ebd93369ce542e8f2322d int,
- F_63dc7ed1010d3c3b8269faf0ba7491d4 int,
- F_e96ed478dab8595a7dbda4cbcbee168f int,
- F_c0e190d8267e36708f955d7ab048990d int,
- F_ec8ce6abb3e952a85b8551ba726a1227 int,
- F_060ad92489947d410d897474079c1477 int,
- F_bcbe3365e6ac95ea2c0343a2395834dd int,
- F_115f89503138416a242f40fb7d7f338e int,
- F_13fe9d84310e77f13a6d184dbf1232f3 int,
- F_d1c38a09acc34845c6be3a127a5aacaf int,
- F_9cfdf10e8fc047a44b08ed031e1f0ed1 int,
- F_705f2172834666788607efbfca35afb3 int,
- F_74db120f0a8e5646ef5a30154e9f6deb int,
- F_57aeee35c98205091e18d1140e9f38cf int,
- F_6da9003b743b65f4c0ccd295cc484e57 int,
- F_9b04d152845ec0a378394003c96da594 int,
- F_be83ab3ecd0db773eb2dc1b0a17836a1 int,
- F_e165421110ba03099a1c0393373c5b43 int,
- F_289dff07669d7a23de0ef88d2f7129e7 int,
- F_577ef1154f3240ad5b9b413aa7346a1e int,
- F_01161aaa0b6d1345dd8fe4e481144d84 int,
- F_539fd53b59e3bb12d203f45a912eeaf2 int,
- F_ac1dd209cbcc5e5d1c6e28598e8cbbe8 int,
- F_555d6702c950ecb729a966504af0a635 int,
- F_335f5352088d7d9bf74191e006d8e24c int,
- F_f340f1b1f65b6df5b5e3f94d95b11daf int,
- F_e4a6222cdb5b34375400904f03d8e6a5 int,
- F_cb70ab375662576bd1ac5aaf16b3fca4 int,
- F_9188905e74c28e489b44e954ec0b9bca int,
- F_0266e33d3f546cb5436a10798e657d97 int,
- F_38db3aed920cf82ab059bfccbd02be6a int,
- F_3cec07e9ba5f5bb252d13f5f431e4bbb int,
- F_621bf66ddb7c962aa0d22ac97d69b793 int,
- F_077e29b11be80ab57e1a2ecabb7da330 int,
- F_6c9882bbac1c7093bd25041881277658 int,
- F_19f3cd308f1455b3fa09a282e0d496f4 int,
- F_03c6b06952c750899bb03d998e631860 int,
- F_c24cd76e1ce41366a4bbe8a49b02a028 int,
- F_c52f1bd66cc19d05628bd8bf27af3ad6 int,
- F_fe131d7f5a6b38b23cc967316c13dae2 int,
- F_f718499c1c8cef6730f9fd03c8125cab int,
- F_d96409bf894217686ba124d7356686c9 int,
- F_502e4a16930e414107ee22b6198c578f int,
- F_cfa0860e83a4c3a763a7e62d825349f7 int,
- F_a4f23670e1833f3fdb077ca70bbd5d66 int,
- F_b1a59b315fc9a3002ce38bbe070ec3f5 int,
- F_36660e59856b4de58a219bcf4e27eba3 int,
- F_8c19f571e251e61cb8dd3612f26d5ecf int,
- F_d6baf65e0b240ce177cf70da146c8dc8 int,
- F_e56954b4f6347e897f954495eab16a88 int,
- F_f7664060cc52bc6f3d620bcedc94a4b6 int,
- F_eda80a3d5b344bc40f3bc04f65b7a357 int,
- F_8f121ce07d74717e0b1f21d122e04521 int,
- F_06138bc5af6023646ede0e1f7c1eac75 int,
- F_39059724f73a9969845dfe4146c5660e int,
- F_7f100b7b36092fb9b06dfb4fac360931 int,
- F_7a614fd06c325499f1680b9896beedeb int,
- F_4734ba6f3de83d861c3176a6273cac6d int,
- F_d947bf06a885db0d477d707121934ff8 int,
- F_63923f49e5241343aa7acb6a06a751e7 int,
- F_db8e1af0cb3aca1ae2d0018624204529 int,
- F_20f07591c6fcb220ffe637cda29bb3f6 int,
- F_07cdfd23373b17c6b337251c22b7ea57 int,
- F_d395771085aab05244a4fb8fd91bf4ee int,
- F_92c8c96e4c37100777c7190b76d28233 int,
- F_e3796ae838835da0b6f6ea37bcf8bcb7 int,
- F_6a9aeddfc689c1d0e3b9ccc3ab651bc5 int,
- F_0f49c89d1e7298bb9930789c8ed59d48 int,
- F_46ba9f2a6976570b0353203ec4474217 int,
- F_0e01938fc48a2cfb5f2217fbfb00722d int,
- F_16a5cdae362b8d27a1d8f8c7b78b4330 int,
- F_918317b57931b6b7a7d29490fe5ec9f9 int,
- F_48aedb8880cab8c45637abc7493ecddd int,
- F_839ab46820b524afda05122893c2fe8e int,
- F_f90f2aca5c640289d0a29417bcb63a37 int,
- F_9c838d2e45b2ad1094d42f4ef36764f6 int,
- F_1700002963a49da13542e0726b7bb758 int,
- F_53c3bce66e43be4f209556518c2fcb54 int,
- F_6883966fd8f918a4aa29be29d2c386fb int,
- F_49182f81e6a13cf5eaa496d51fea6406 int,
- F_d296c101daa88a51f6ca8cfc1ac79b50 int,
- F_9fd81843ad7f202f26c1a174c7357585 int,
- F_26e359e83860db1d11b6acca57d8ea88 int,
- F_ef0d3930a7b6c95bd2b32ed45989c61f int,
- F_94f6d7e04a4d452035300f18b984988c int,
- F_34ed066df378efacc9b924ec161e7639 int,
- F_577bcc914f9e55d5e4e4f82f9f00e7d4 int,
- F_11b9842e0a271ff252c1903e7132cd68 int,
- F_37bc2f75bf1bcfe8450a1a41c200364c int,
- F_496e05e1aea0a9c4655800e8a7b9ea28 int,
- F_b2eb7349035754953b57a32e2841bda5 int,
- F_8e98d81f8217304975ccb23337bb5761 int,
- F_a8c88a0055f636e4a163a5e3d16adab7 int,
- F_eddea82ad2755b24c4e168c5fc2ebd40 int,
- F_06eb61b839a0cefee4967c67ccb099dc int,
- F_9dfcd5e558dfa04aaf37f137a1d9d3e5 int,
- F_950a4152c2b4aa3ad78bdd6b366cc179 int,
- F_158f3069a435b314a80bdcb024f8e422 int,
- F_758874998f5bd0c393da094e1967a72b int,
- F_ad13a2a07ca4b7642959dc0c4c740ab6 int,
- F_3fe94a002317b5f9259f82690aeea4cd int,
- F_5b8add2a5d98b1a652ea7fd72d942dac int,
- F_432aca3a1e345e339f35a30c8f65edce int,
- F_8d3bba7425e7c98c50f52ca1b52d3735 int,
- F_320722549d1751cf3f247855f937b982 int,
- F_caf1a3dfb505ffed0d024130f58c5cfa int,
- F_5737c6ec2e0716f3d8a7a5c4e0de0d9a int,
- F_bc6dc48b743dc5d013b1abaebd2faed2 int,
- F_f2fc990265c712c49d51a18a32b39f0c int,
- F_89f0fd5c927d466d6ec9a21b9ac34ffa int,
- F_a666587afda6e89aec274a3657558a27 int,
- F_b83aac23b9528732c23cc7352950e880 int,
- F_cd00692c3bfe59267d5ecfac5310286c int,
- F_6faa8040da20ef399b63a72d0e4ab575 int,
- F_fe73f687e5bc5280214e0486b273a5f9 int);
-insert into t1 (F_8d3bba7425e7c98c50f52ca1b52d3735) values (1);
---exec $MYSQL_DUMP --skip-comments -c test
-drop table t1;
-
---echo #
---echo # Test for --add-drop-database
---echo #
-
-CREATE TABLE t1 (a int);
-INSERT INTO t1 VALUES (1),(2),(3);
---exec $MYSQL_DUMP --add-drop-database --skip-comments --databases test
-DROP TABLE t1;
-
---echo #
---echo # Bug#9558 mysqldump --no-data db t1 t2 format still dumps data
---echo #
-
-CREATE DATABASE mysqldump_test_db;
-USE mysqldump_test_db;
-CREATE TABLE t1 ( a INT );
-CREATE TABLE t2 ( a INT );
-INSERT INTO t1 VALUES (1), (2);
-INSERT INTO t2 VALUES (1), (2);
---exec $MYSQL_DUMP --skip-comments --no-data mysqldump_test_db
---exec $MYSQL_DUMP --skip-comments --no-data mysqldump_test_db t1 t2
---exec $MYSQL_DUMP --skip-comments --skip-create --xml --no-data mysqldump_test_db
---exec $MYSQL_DUMP --skip-comments --skip-create --xml --no-data mysqldump_test_db t1 t2
-DROP TABLE t1, t2;
-DROP DATABASE mysqldump_test_db;
-
---echo #
---echo #  Testing with tables and databases that don't exists
---echo #  or contains illegal characters
---echo # (Bug#9358 mysqldump crashes if tablename starts with \)
---echo #
-create database mysqldump_test_db;
-use mysqldump_test_db;
-create table t1(a varchar(30) primary key, b int not null);
-create table t2(a varchar(30) primary key, b int not null);
-create table t3(a varchar(30) primary key, b int not null);
-
---disable_query_log
-select '------ Testing with illegal table names ------' as test_sequence ;
---enable_query_log
---error 6
---exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_db "\d-2-1.sql" 2>&1
-
---error 6
---exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_db  "\t1" 2>&1
-
---error 6
---exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_db  "\\t1" 2>&1
-
---error 6
---exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_db  "\\\\t1" 2>&1
-
---error 6
---exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_db  "t\1" 2>&1
-
---error 6
---exec $MYSQL_DUMP --compact --skip-comments  mysqldump_test_db  "t\\1" 2>&1
-
---error 6
---exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_db  "t/1" 2>&1
-
---error 6
---exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_db "T_1" 2>&1
-
---error 6
---exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_db "T%1" 2>&1
-
---error 6
---exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_db "T'1" 2>&1
-
---error 6
---exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_db "T_1" 2>&1
-
---error 6
---exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_db "T_" 2>&1
-
---disable_query_log
-select '------ Testing with illegal database names ------' as test_sequence ;
---enable_query_log
---error 2
---exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_d 2>&1
-
---error 2
---exec $MYSQL_DUMP --compact --skip-comments "mysqld\ump_test_db" 2>&1
-
-drop table t1, t2, t3;
-drop database mysqldump_test_db;
-use test;
-
-
---echo #
---echo # Bug#9657 mysqldump xml ( -x ) does not format NULL fields correctly
---echo #
-
-create table t1 (a int(10));
-create table t2 (pk int primary key auto_increment,
-a int(10), b varchar(30), c datetime, d blob, e text);
-insert into t1 values (NULL), (10), (20);
-insert into t2 (a, b) values (NULL, NULL),(10, NULL),(NULL, "twenty"),(30, "thirty");
---exec $MYSQL_DUMP  --skip-comments --xml --no-create-info test
-drop table t1, t2;
-
-
---echo #
---echo # Bug#12123 mysqldump --tab results in text file which can't be imported
---echo #
-
-create table t1 (a text character set utf8, b text character set latin1);
-insert t1 values (0x4F736E616272C3BC636B, 0x4BF66C6E);
-select * from t1;
---exec $MYSQL_DUMP --tab=$MYSQLTEST_VARDIR/tmp/ test
---exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/t1.sql
---exec $MYSQL_IMPORT test $MYSQLTEST_VARDIR/tmp/t1.txt
-select * from t1;
-
-drop table t1;
-
-
---echo #
---echo # Bug#15328 Segmentation fault occured if my.cnf is invalid for escape sequence
---echo #
-
---exec $MYSQL_MY_PRINT_DEFAULTS --config-file=$MYSQL_TEST_DIR/std_data/bug15328.cnf mysqldump
-
---echo #
---echo # Bug#19025 mysqldump doesn't correctly dump "auto_increment = [int]"
---echo #
-
-create table `t1` (
-    t1_name varchar(255) default null,
-    t1_id int(10) unsigned not null auto_increment,
-    key (t1_name),
-    primary key (t1_id)
-) auto_increment = 1000 default charset=latin1;
-
-insert into t1 (t1_name) values('bla');
-insert into t1 (t1_name) values('bla');
-insert into t1 (t1_name) values('bla');
-
-select * from t1;
-
-show create table `t1`;
-
---exec $MYSQL_DUMP --skip-comments test t1 > $MYSQLTEST_VARDIR/tmp/bug19025.sql
-DROP TABLE `t1`;
-
---exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/bug19025.sql
-
-select * from t1;
-
-show create table `t1`;
-
-drop table `t1`;
---remove_file $MYSQLTEST_VARDIR/tmp/bug19025.sql
-
-
---echo #
---echo # Bug#18536 wrong table order
---echo #
-
-create table t1(a int);
-create table t2(a int);
-create table t3(a int);
---error 6
---exec $MYSQL_DUMP --skip-comments --force --no-data test t3 t1 non_existing t2
-drop table t1, t2, t3;
-
-
---echo #
---echo # Bug#21288 mysqldump segmentation fault when using --where
---echo #
-
-create table t1 (a int);
---error 2
---exec $MYSQL_DUMP --skip-comments --force test t1 --where="xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 2>&1
-drop table t1;
-
-
---echo #
---echo # Bug#13926 --order-by-primary fails if PKEY contains quote character
---echo #
-
---disable_warnings
-DROP TABLE IF EXISTS `t1`;
-CREATE TABLE `t1` (
-  `a b` INT,
-  `c"d` INT,
-  `e``f` INT,
-  PRIMARY KEY (`a b`, `c"d`, `e``f`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-insert into t1 values (0815, 4711, 2006);
-
---exec $MYSQL_DUMP --skip-comments --compatible=ansi --order-by-primary test t1
---exec $MYSQL_DUMP --skip-comments --order-by-primary test t1
-DROP TABLE `t1`;
---enable_warnings
-
---echo End of 4.1 tests
-
-
---echo #
---echo # Bug#10213 mysqldump crashes when dumping VIEWs(on MacOS X)
---echo #
-
-create database db1;
-use db1;
-
-CREATE TABLE t2 (
-  a varchar(30) default NULL,
-  KEY a (a(5))
-);
-
-INSERT INTO t2 VALUES ('alfred');
-INSERT INTO t2 VALUES ('angie');
-INSERT INTO t2 VALUES ('bingo');
-INSERT INTO t2 VALUES ('waffle');
-INSERT INTO t2 VALUES ('lemon');
-create view v2 as select * from t2 where a like 'a%' with check option;
---exec $MYSQL_DUMP  --skip-comments db1
-drop table t2;
-drop view v2;
-drop database db1;
-use test;
-
-
---echo #
---echo # Bug#10713 mysqldump includes database in create view and referenced tables
---echo #
-
-# create table and views in db2
-create database db2;
-use db2;
-create table t1 (a int);
-create table t2 (a int, b varchar(10), primary key(a));
-insert into t2 values (1, "on"), (2, "off"), (10, "pol"), (12, "meg");
-insert into t1 values (289), (298), (234), (456), (789);
-create view v1 as select * from t2;
-create view v2 as select * from t1;
-
-# dump tables and view from db2
---exec $MYSQL_DUMP db2 > $MYSQLTEST_VARDIR/tmp/bug10713.sql
-
-# drop the db, tables and views
-drop table t1, t2;
-drop view v1, v2;
-drop database db2;
-use test;
-
-# create db1 and reload dump
-create database db1;
-use db1;
---exec $MYSQL db1 < $MYSQLTEST_VARDIR/tmp/bug10713.sql
-
-# check that all tables and views could be created
-show tables;
-select * from t2 order by a;
-
-drop table t1, t2;
-drop database db1;
-use test;
---remove_file $MYSQLTEST_VARDIR/tmp/bug10713.sql
-
-#
-# dump of view
-#
-
-create table t1(a int);
-create view v1 as select * from t1;
---exec $MYSQL_DUMP --skip-comments test
-drop view v1;
-drop table t1;
-
-
---echo #
---echo # Bug#10213 mysqldump crashes when dumping VIEWs(on MacOS X)
---echo #
-
-create database mysqldump_test_db;
-use mysqldump_test_db;
-
-CREATE TABLE t2 (
-  a varchar(30) default NULL,
-  KEY a (a(5))
-);
-
-INSERT INTO t2 VALUES ('alfred');
-INSERT INTO t2 VALUES ('angie');
-INSERT INTO t2 VALUES ('bingo');
-INSERT INTO t2 VALUES ('waffle');
-INSERT INTO t2 VALUES ('lemon');
-create view v2 as select * from t2 where a like 'a%' with check option;
---exec $MYSQL_DUMP  --skip-comments mysqldump_test_db
-drop table t2;
-drop view v2;
-drop database mysqldump_test_db;
-use test;
-
---echo #
---echo # Bug#9756 mysql client failing on dumps containing certain \ sequences
---echo #
-
-CREATE TABLE t1 (a char(10));
-INSERT INTO t1 VALUES ('\'');
---exec $MYSQL_DUMP --skip-comments test t1
-DROP TABLE t1;
-
---echo #
---echo # Bug#10927 mysqldump: Can't reload dump with view that consist of other view
---echo #
-
-create table t1(a int, b int, c varchar(30));
-
-insert into t1 values(1, 2, "one"), (2, 4, "two"), (3, 6, "three");
-
-create view v3 as
-select * from t1;
-
-create  view v1 as
-select * from v3 where b in (1, 2, 3, 4, 5, 6, 7);
-
-# Disable warnings since LIMIT warning for unsafe statement if
-# binlog_format = STATEMENT. Note: after BUG#45832, the warning should
-# not be issued.
---disable_warnings
-create  view v2 as
-select v3.a from v3, v1 where v1.a=v3.a and v3.b=3 limit 1;
---enable_warnings
-
---exec $MYSQL_DUMP --skip-comments test
-
-drop view v1, v2, v3;
-drop table t1;
-
---echo #
---echo # Test for dumping triggers
---echo #
-
-CREATE TABLE t1 (a int, b bigint default NULL);
-CREATE TABLE t2 (a int);
-delimiter |;
-create trigger trg1 before insert on t1 for each row
-begin
-  if new.a > 10 then
-    set new.a := 10;
-    set new.a := 11;
-  end if;
-end|
-create trigger trg2 before update on t1 for each row begin
-  if old.a % 2 = 0 then set new.b := 12; end if;
-end|
-set sql_mode="traditional"|
-create trigger trg3 after update on t1 for each row
-begin
-  if new.a = -1 then
-    set @fired:= "Yes";
-  end if;
-end|
-create trigger trg4 before insert on t2 for each row
-begin
-  if new.a > 10 then
-    set @fired:= "No";
-  end if;
-end|
-set sql_mode=default|
-delimiter ;|
---replace_column 6 '0000-00-00 00:00:00'
-show triggers like "t1";
-INSERT INTO t1 (a) VALUES (1),(2),(3),(22);
-update t1 set a = 4 where a=3;
-# Triggers should be dumped by default
---exec $MYSQL_DUMP --skip-comments --databases test
-# Skip dumping triggers
---exec $MYSQL_DUMP --skip-comments --databases --skip-triggers test
-# Dump and reload...
---exec $MYSQL_DUMP --skip-comments --databases test > $MYSQLTEST_VARDIR/tmp/mysqldump.sql
-drop table t1;
---exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/mysqldump.sql
-# Check that tables have been reloaded
-show tables;
---replace_column 6 #
-show triggers;
-DROP TABLE t1, t2;
-
---echo #
---echo # Bug#9136  my_print_defaults changed behaviour between 4.1.7 and 4.1.10a
---echo # Bug#12917 The --defaults-extra-file option is ignored by the 5.0 client binaries
---echo # (Problems with --defaults-extra-file option)
---echo #
-
---write_file $MYSQLTEST_VARDIR/tmp/tmp.cnf
-[mysqltest1]
-port=1234
-EOF
---exec $MYSQL_MY_PRINT_DEFAULTS -c $MYSQLTEST_VARDIR/tmp/tmp.cnf mysqltest1
---exec $MYSQL_MY_PRINT_DEFAULTS -e $MYSQLTEST_VARDIR/tmp/tmp.cnf mysqltest1 mysqltest1
---remove_file $MYSQLTEST_VARDIR/tmp/tmp.cnf
-
---echo #
---echo # Test of fix to Bug#12597 mysqldump dumps triggers wrongly
---echo #
-
-DROP TABLE IF EXISTS `test1`;
-CREATE TABLE `test1` (
-  `a1` int(11) default NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-
-DROP TABLE IF EXISTS `test2`;
-CREATE TABLE `test2` (
-  `a2` int(11) default NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-
-DELIMITER //;
-CREATE TRIGGER `testref` BEFORE INSERT ON `test1` FOR EACH ROW BEGIN
-INSERT INTO test2 SET a2 = NEW.a1; END  //
-DELIMITER ;//
-
-INSERT INTO `test1` VALUES (1);
-SELECT * FROM `test2`;
-
-# dump
---exec $MYSQL_DUMP --skip-comments --databases test > $MYSQLTEST_VARDIR/tmp/mysqldump.sql
-
-#DROP TRIGGER testref;
-#DROP TABLE test1;
-#DROP TABLE test2;
-# restore
---exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/mysqldump.sql
-SHOW TRIGGERS;
-SELECT * FROM `test1`;
-SELECT * FROM `test2`;
-
-DROP TRIGGER testref;
-DROP TABLE test1;
-DROP TABLE test2;
---remove_file $MYSQLTEST_VARDIR/tmp/mysqldump.sql
-
-
---echo #
---echo # Bug#9056 mysqldump does not dump routines
---echo #
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
-DROP FUNCTION IF EXISTS bug9056_func1;
-DROP FUNCTION IF EXISTS bug9056_func2;
-DROP PROCEDURE IF EXISTS bug9056_proc1;
-DROP PROCEDURE IF EXISTS bug9056_proc2;
-DROP PROCEDURE IF EXISTS `a'b`;
---enable_warnings
-
-CREATE TABLE t1 (id int);
-INSERT INTO t1 VALUES(1), (2), (3), (4), (5);
-
-DELIMITER //;
-CREATE FUNCTION `bug9056_func1`(a INT, b INT) RETURNS int(11) RETURN a+b //
-CREATE PROCEDURE `bug9056_proc1`(IN a INT, IN b INT, OUT c INT)
-BEGIN SELECT a+b INTO c; end  //
-
-create function bug9056_func2(f1 char binary) returns char
-begin
-  set f1= concat( 'hello', f1 );
-  return f1;
-end //
-
-CREATE PROCEDURE bug9056_proc2(OUT a INT)
-BEGIN
-  select sum(id) from t1 into a;
-END //
-
-DELIMITER ;//
-
-set sql_mode='ansi';
-create procedure `a'b` () select 1; # to fix syntax highlighting :')
-set sql_mode='';
-
-# Dump the DB and ROUTINES
---exec $MYSQL_DUMP --skip-comments --routines --databases test
-
-# ok, now blow it all away
-DROP FUNCTION bug9056_func1;
-DROP FUNCTION bug9056_func2;
-DROP PROCEDURE bug9056_proc1;
-DROP PROCEDURE bug9056_proc2;
-DROP PROCEDURE `a'b`;
-drop table t1;
-
-
---echo #
---echo # Bug#13052 mysqldump timestamp reloads broken
---echo #
-
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
-create table t1 (`d` timestamp, unique (`d`));
-set time_zone='+00:00';
-insert into t1 values ('2003-10-25 22:00:00'),('2003-10-25 23:00:00');
-# results should show two different time values
-select * from t1;
-set time_zone='Europe/Moscow';
-# results should show two same time values, despite unique
-select * from t1;
-set global time_zone='Europe/Moscow';
---exec $MYSQL_DUMP --skip-comments --databases test
---exec $MYSQL_DUMP --skip-tz-utc --skip-comments --databases test
-drop table t1;
-set global time_zone=default;
-set time_zone=default;
-
---echo #
---echo # Test of fix to Bug#13146 ansi quotes break loading of triggers
---echo #
-
---disable_warnings
-DROP TABLE IF EXISTS `t1 test`;
-DROP TABLE IF EXISTS `t2 test`;
---enable_warnings
-
-CREATE TABLE `t1 test` (
-  `a1` int(11) default NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-
-CREATE TABLE `t2 test` (
-  `a2` int(11) default NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-
-DELIMITER //;
-CREATE TRIGGER `test trig` BEFORE INSERT ON `t1 test` FOR EACH ROW BEGIN
-INSERT INTO `t2 test` SET a2 = NEW.a1; END  //
-DELIMITER ;//
-
-INSERT INTO `t1 test` VALUES (1);
-INSERT INTO `t1 test` VALUES (2);
-INSERT INTO `t1 test` VALUES (3);
-SELECT * FROM `t2 test`;
-# dump with compatible=ansi. Everything except triggers should be double
-# quoted
---exec $MYSQL_DUMP --skip-comments --compatible=ansi --triggers test
-
-DROP TRIGGER `test trig`;
-DROP TABLE `t1 test`;
-DROP TABLE `t2 test`;
-
---echo #
---echo # Bug#12838 mysqldump -x with views exits with error
---echo #
-
---disable_warnings
-drop table if exists t1;
---enable_warnings
-create table t1 (a int, b varchar(32), c varchar(32));
-insert into t1 values (1, 'first value', 'xxxx');
-insert into t1 values (2, 'second value', 'tttt');
-insert into t1 values (3, 'third value', 'vvv vvv');
-
-create view v1 as select * from t1;
-create view v0 as select * from v1;
-create view v2 as select * from v0;
-
-select * from v2;
---exec $MYSQL_DUMP -x --skip-comments --databases test
-
-drop view v2;
-drop view v0;
-drop view v1;
-drop table t1;
-
---echo #
---echo # Bug#14554 mysqldump does not separate words "ROW" and "BEGIN"
---echo # for tables with trigger created in the IGNORE_SPACE sql mode.
---echo #
-
-SET @old_sql_mode = @@SQL_MODE;
-SET SQL_MODE = IGNORE_SPACE;
-
-CREATE TABLE t1 (a INT);
-DELIMITER |;
-CREATE TRIGGER tr1 BEFORE INSERT ON t1
-       FOR EACH ROW
-       BEGIN
-         SET new.a = 0;
-       END|
-DELIMITER ;|
-
-SET SQL_MODE = @old_sql_mode;
-
---exec $MYSQL_DUMP --skip-comments --databases test
-
-DROP TRIGGER tr1;
-DROP TABLE t1;
-
---echo #
---echo # Bug#13318 Bad result with empty field and --hex-blob
---echo #
-
-create table t1 (a binary(1), b blob);
-insert into t1 values ('','');
---exec $MYSQL_DUMP --skip-comments --skip-extended-insert --hex-blob test t1
---exec $MYSQL_DUMP --skip-comments --hex-blob test t1
-drop table t1;
-
---echo #
---echo # Bug#14871 Invalid view dump output
---echo #
-
-create table t1 (a int);
-insert into t1 values (289), (298), (234), (456), (789);
-create definer = CURRENT_USER view v1 as select * from t1;
-create SQL SECURITY INVOKER view v2 as select * from t1;
-create view v3 as select * from t1 with local check option;
-create algorithm=merge view v4 as select * from t1 with cascaded check option;
-create algorithm =temptable view v5 as select * from t1;
-
-# dump tables and views
---exec $MYSQL_DUMP test > $MYSQLTEST_VARDIR/tmp/bug14871.sql
-
-# drop the db, tables and views
-drop table t1;
-drop view v1, v2, v3, v4, v5;
-
-# Reload dump
---exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/bug14871.sql
-
-# check that all tables and views could be created
-show tables;
-select * from v3 order by a;
-
-drop table t1;
-drop view v1, v2, v3, v4, v5;
---remove_file $MYSQLTEST_VARDIR/tmp/bug14871.sql
-
-
---echo #
---echo # Bug#16878 dump of trigger
---echo #
-
-create table t1 (a int, created datetime);
-create table t2 (b int, created datetime);
-create trigger tr1 before insert on t1 for each row set
-new.created=now();
-delimiter |;
-create trigger tr2 after insert on t1
-for each row
-begin
-  insert into t2 set b=new.a and created=new.created;
-end|
-delimiter ;|
-
-# dump table and trigger
---exec $MYSQL_DUMP test > $MYSQLTEST_VARDIR/tmp/bug16878.sql
-drop trigger tr1;
-drop trigger tr2;
-drop table t1, t2;
-
-# reload dump
---exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/bug16878.sql
---replace_column 6 #
-show triggers;
-drop trigger tr1;
-drop trigger tr2;
-drop table t1, t2;
---remove_file $MYSQLTEST_VARDIR/tmp/bug16878.sql
-
-
---echo #
---echo # Bug#18462 mysqldump does not dump view structures correctly
---echo #
-
-create table t (qty int, price int);
-insert into t values(3, 50);
-insert into t values(5, 51);
-create view v1 as select qty, price, qty*price as value from t;
-create view v2 as select qty from v1;
---echo mysqldump {
---exec $MYSQL_DUMP --compact -F --tab $MYSQLTEST_VARDIR/tmp test
---cat_file $MYSQLTEST_VARDIR/tmp/v1.sql
---echo } mysqldump {
---cat_file $MYSQLTEST_VARDIR/tmp/v2.sql
---echo } mysqldump
-drop view v1;
-drop view v2;
-drop table t;
---remove_file $MYSQLTEST_VARDIR/tmp/v1.sql
---remove_file $MYSQLTEST_VARDIR/tmp/v2.sql
---remove_file $MYSQLTEST_VARDIR/tmp/t.sql
---remove_file $MYSQLTEST_VARDIR/tmp/t.txt
-
-
---echo #
---echo # Bug#14857 Reading dump files with single statement stored routines fails.
---echo # fixed by patch for Bug#16878
---echo #
-
-DELIMITER |;
-/*!50003 CREATE FUNCTION `f`() RETURNS bigint(20)
-return 42 */|
-/*!50003 CREATE PROCEDURE `p`()
-select 42 */|
-DELIMITER ;|
-show create function f;
-show create procedure p;
-drop function f;
-drop procedure p;
-
---echo #
---echo # Bug#17371 Unable to dump a schema with invalid views
---echo #
-
-create table t1 ( id serial );
-create view v1 as select * from t1;
-drop table t1;
-# mysqldump gets 1356 from server, but gives us 2
---echo mysqldump {
---error 2
---exec $MYSQL_DUMP --force -N --compact --skip-comments test
---echo } mysqldump
-drop view v1;
-
-
---echo # Bug#17201 Spurious 'DROP DATABASE' in output,
---echo # also confusion between tables and views.
---echo # Example code from Markus Popp
-
-create database mysqldump_test_db;
-use mysqldump_test_db;
-create table t1 (id int);
-create view v1 as select * from t1;
-insert into t1 values (1232131);
-insert into t1 values (4711);
-insert into t1 values (3231);
-insert into t1 values (0815);
---exec $MYSQL_DUMP --skip-comments --add-drop-database --databases mysqldump_test_db
-drop view v1;
-drop table t1;
-drop database mysqldump_test_db;
-
-
---echo #
---echo # Bug#21014 Segmentation fault of mysqldump on view
---echo #
-
-create database mysqldump_tables;
-use mysqldump_tables;
-create table basetable ( id serial, tag varchar(64) );
-
-create database mysqldump_views;
-use mysqldump_views;
-create view nasishnasifu as select mysqldump_tables.basetable.id from mysqldump_tables.basetable;
-
---exec $MYSQL_DUMP --skip-comments --compact --databases mysqldump_tables mysqldump_views
-
-drop view nasishnasifu;
-drop database mysqldump_views;
-drop table mysqldump_tables.basetable;
-drop database mysqldump_tables;
-
---echo #
---echo # Bug#20221 Dumping of multiple databases containing view(s) yields maleformed dumps
---echo #
-
-create database mysqldump_dba;
-use mysqldump_dba;
-create table t1 (f1 int, f2 int);
-insert into t1 values (1,1);
-create view v1 as select f1, f2 from t1;
-
-create database mysqldump_dbb;
-use mysqldump_dbb;
-create table t1 (f1 int, f2 int);
-insert into t1 values (2,2);
-create view v1 as select f1, f2 from t1;
-
---exec $MYSQL_DUMP --skip-comments --add-drop-database --databases mysqldump_dba mysqldump_dbb > $MYSQLTEST_VARDIR/tmp/bug20221_backup
-
-drop view v1;
-drop table t1;
-drop database mysqldump_dbb;
-use mysqldump_dba;
-drop view v1;
-drop table t1;
-drop database mysqldump_dba;
-
---exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug20221_backup
-
-select * from mysqldump_dba.v1;
-select * from mysqldump_dbb.v1;
-
-use mysqldump_dba;
-drop view v1;
-drop table t1;
-drop database mysqldump_dba;
-use mysqldump_dbb;
-drop view v1;
-drop table t1;
-drop database mysqldump_dbb;
---remove_file $MYSQLTEST_VARDIR/tmp/bug20221_backup
-use test;
-
---echo #
---echo # Bug#21215 mysqldump creating incomplete backups without warning
---echo #
-
-# Create user without sufficient privs to perform the requested operation
-create user mysqltest_1@localhost;
-create table t1(a int, b varchar(34));
-
-# To get consistent output, reset the master, starts over from first log
-reset master;
-
-# Execute mysqldump, will fail on FLUSH TABLES
---error 2
---exec $MYSQL_DUMP --compact --master-data -u mysqltest_1 test 2>&1
-
-# Execute mysqldump, will fail on FLUSH TABLES
-# use --force, should no affect behaviour
---error 2
---exec $MYSQL_DUMP --compact --force --master-data -u mysqltest_1 test 2>&1
-
-# Add RELOAD grants
-grant RELOAD on *.* to mysqltest_1@localhost;
-
-# Execute mysqldump, will fail on SHOW MASTER STATUS
---error 2
---exec $MYSQL_DUMP --compact --master-data -u mysqltest_1 test 2>&1
-
-# Execute mysqldump, will fail on SHOW MASTER STATUS.
-# use --force, should not alter behaviour
---error 2
---exec $MYSQL_DUMP --compact --force --master-data -u mysqltest_1 test 2>&1
-
-# Add REPLICATION CLIENT grants
-grant REPLICATION CLIENT on *.* to mysqltest_1@localhost;
-
-# Execute mysqldump, should now succeed
---disable_result_log
---exec $MYSQL_DUMP --compact --master-data -u mysqltest_1 test 2>&1
---enable_result_log
-
-# Clean up
-drop table t1;
-drop user mysqltest_1@localhost;
-
-
---echo #
---echo # Bug#21424 mysqldump failing to export/import views
---echo #
-
-# Do as root
-connect (root,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
-connection root;
-create database mysqldump_myDB;
-use mysqldump_myDB;
-create user myDB_User@localhost;
-grant create, create view, select, insert on mysqldump_myDB.* to myDB_User@localhost;
-create table t1 (c1 int);
-insert into t1 values (3);
-
-# Do as a user
-connect (user1,localhost,myDB_User,,mysqldump_myDB,$MASTER_MYPORT,$MASTER_MYSOCK);
-connection user1;
-use mysqldump_myDB;
-create table u1 (f1 int);
-insert into u1 values (4);
-create view v1 (c1) as select * from t1;
-
-# Backup should not fail for Bug#21527. Flush priviliges test begins.
---exec $MYSQL_DUMP --skip-comments --add-drop-table --flush-privileges --ignore-table=mysql.general_log --ignore-table=mysql.slow_log --databases mysqldump_myDB mysql > $MYSQLTEST_VARDIR/tmp/bug21527.sql
-
-# Clean up
-connection root;
-use mysqldump_myDB;
-drop view v1;
-drop table t1;
-drop table u1;
-revoke all privileges on mysqldump_myDB.* from myDB_User@localhost;
-drop user myDB_User@localhost;
-drop database mysqldump_myDB;
-flush privileges;
-
-
---echo # Bug#21424 continues from here.
---echo # Restore. Flush Privileges test ends.
---echo #
-
---exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21527.sql
-
-# Do as a user
-connection user1;
-use mysqldump_myDB;
-
-# Ultimate test for correct data.
-select * from mysqldump_myDB.v1;
-select * from mysqldump_myDB.u1;
-
-# Final cleanup.
-connection root;
-disconnect user1;
-use mysqldump_myDB;
-drop view v1;
-drop table t1;
-drop table u1;
-revoke all privileges on mysqldump_myDB.* from myDB_User@localhost;
-drop user myDB_User@localhost;
-drop database mysqldump_myDB;
-connection default;
-disconnect root;
---remove_file $MYSQLTEST_VARDIR/tmp/bug21527.sql
-use test;
-
---echo #
---echo # Bug #21527 mysqldump incorrectly tries to LOCK TABLES on the 
---echo # information_schema database.
---echo #
---echo # Bug #33762: mysqldump can not dump INFORMATION_SCHEMA
---echo #
---exec $MYSQL_DUMP --compact --opt -d information_schema TABLES
-
---echo #
---echo # Bug#19745 mysqldump --xml produces invalid xml
---echo #
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
-CREATE TABLE t1 (f1 int(10), data MEDIUMBLOB);
-INSERT INTO t1 VALUES(1,0xff00fef0);
-
---exec $MYSQL_DUMP --xml --hex-blob --skip-create-options test t1
-
-DROP TABLE t1;
-
-
---echo #
---echo # Bug#26346 stack + buffer overrun in mysqldump
---echo #
-
-CREATE TABLE t1(a int);
-INSERT INTO t1 VALUES (1), (2);
-
-# too long a file path causes an error
---error 1
---exec $MYSQL_DUMP --tab=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa test 2>&1
-
---exec $MYSQL_DUMP --tab=$MYSQLTEST_VARDIR/tmp/ --fields-terminated-by=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa test
---error 2
---exec $MYSQL_DUMP --tab=$MYSQLTEST_VARDIR/tmp/ --fields-enclosed-by=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa test
---error 2
---exec $MYSQL_DUMP --tab=$MYSQLTEST_VARDIR/tmp/ --fields-optionally-enclosed-by=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa test
---error 2
---exec $MYSQL_DUMP --tab=$MYSQLTEST_VARDIR/tmp/ --fields-escaped-by=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa test
---exec $MYSQL_DUMP --tab=$MYSQLTEST_VARDIR/tmp/ --lines-terminated-by=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa test
-
---remove_file $MYSQLTEST_VARDIR/tmp/t1.sql
---remove_file $MYSQLTEST_VARDIR/tmp/t1.txt
-
-DROP TABLE t1;
-
-
-#
-# Bug#25993 crashes with a merge table and -c
-#
-
-CREATE TABLE t2 (a INT);
-CREATE TABLE t3 (a INT);
-CREATE TABLE t1 (a INT) ENGINE=merge UNION=(t2, t3);
---exec $MYSQL_DUMP --skip-comments -c test
-DROP TABLE t1, t2, t3;
-
-
---echo #
---echo # Bug#23491 MySQLDump prefix function call in a view by database name
---echo #
-
-# Setup
-create database bug23491_original;
-create database bug23491_restore;
-use bug23491_original;
-create table t1 (c1 int);
-create view v1 as select * from t1;
-create procedure p1() select 1;
-create function f1() returns int return 1;
-create view v2 as select f1();
-create function f2() returns int return f1();
-create view v3 as select bug23491_original.f1();
-
-# Backup.
---exec $MYSQL_DUMP --skip-comments -uroot --opt --routines bug23491_original > $MYSQLTEST_VARDIR/tmp/bug23491_backup.sql
-
-# Restore.
---exec $MYSQL bug23491_restore < $MYSQLTEST_VARDIR/tmp/bug23491_backup.sql
-
-# Verify
-use bug23491_restore;
-show create view bug23491_restore.v2;
-show create view bug23491_restore.v3;
-
-# Cleanup
-drop database bug23491_original;
-drop database bug23491_restore;
-use test;
---remove_file $MYSQLTEST_VARDIR/tmp/bug23491_backup.sql
-
-
-
---echo #
---echo # Bug#27293 mysqldump crashes when dumping routines
---echo #           defined by a different user
---echo #
---echo # Bug#22761 mysqldump reports no errors when using
---echo #           --routines without mysql.proc privileges
---echo #
-
-create database mysqldump_test_db;
-
-grant all privileges on mysqldump_test_db.*  to user1;
-grant all privileges on mysqldump_test_db.*  to user2;
-
-connect (user27293,localhost,user1,,mysqldump_test_db,$MASTER_MYPORT,$MASTER_MYSOCK);
-connection user27293;
-
-create procedure mysqldump_test_db.sp1() select 'hello';
-
---error 2
---exec $MYSQL_DUMP -f --compact --user=user2 --password=  -h 127.0.0.1 -P $MASTER_MYPORT --routines mysqldump_test_db
-
---exec $MYSQL_DUMP -f --compact --user=user1 --password=  -h 127.0.0.1 -P $MASTER_MYPORT --routines mysqldump_test_db
-
-drop procedure sp1;
-
-connection default;
-disconnect user27293;
-drop user user1;
-drop user user2;
-
-drop database mysqldump_test_db;
-
---echo #
---echo # Bug#28522 buffer overrun by '\0' byte using --hex-blob.
---echo #
-
-CREATE TABLE t1 (c1 INT, c2 LONGBLOB);
-INSERT INTO t1 SET c1=11, c2=REPEAT('q',509);
---exec $MYSQL_DUMP --skip-create --compact --hex-blob test t1
-DROP TABLE t1;
-
---echo #
---echo # Bug#28524 mysqldump --skip-add-drop-table is not
---echo #           compatible with views
---echo #
-
-CREATE VIEW v1 AS SELECT 1;
---exec $MYSQL_DUMP --skip-add-drop-table test > $MYSQLTEST_VARDIR/tmp/bug28524.sql
-DROP VIEW v1;
-
---exec $MYSQL test <  $MYSQLTEST_VARDIR/tmp/bug28524.sql
-SELECT * FROM v1;
-DROP VIEW v1;
---remove_file $MYSQLTEST_VARDIR/tmp/bug28524.sql
-
-
---echo #
---echo # Bug#29788 mysqldump discards the NO_AUTO_VALUE_ON_ZERO value of
---echo #           the SQL_MODE variable after the dumping of triggers.
---echo #
-
-CREATE TABLE t1 (c1 INT);
-CREATE TRIGGER t1bd BEFORE DELETE ON t1 FOR EACH ROW BEGIN END;
-
-CREATE TABLE t2 (c1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
-
-SET @TMP_SQL_MODE = @@SQL_MODE;
-SET SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO';
-INSERT INTO t2 VALUES (0), (1), (2);
-SET SQL_MODE = @TMP_SQL_MODE;
-SELECT * FROM t2;
-
---exec $MYSQL_DUMP --routines test >$MYSQLTEST_VARDIR/tmp/bug29788.sql
---exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/bug29788.sql
-SELECT * FROM t2;
-
-DROP TABLE t1,t2;
---remove_file $MYSQLTEST_VARDIR/tmp/bug29788.sql
-
-
---echo #
---echo # Bug#29815 new option for suppressing last line of mysqldump:
---echo #           "Dump completed on"
---echo #
-
---echo # --skip-dump-date:
---replace_regex /-- [^D][^u][^m][^p].*// /\/\*!.*//
---exec $MYSQL_DUMP --skip-dump-date test
-
---echo # --dump-date:
---replace_regex /-- [^D][^u][^m][^p].*// /\/\*!.*// / on [0-9 :-]+/ on DATE/
---exec $MYSQL_DUMP --dump-date test
-
---echo # --dump-date (default):
---replace_regex /-- [^D][^u][^m][^p].*// /\/\*!.*// / on [0-9 :-]+/ on DATE/
---exec $MYSQL_DUMP test
-
---echo #
---echo # Bug #42635: mysqldump includes views that were excluded using 
---echo #   the --ignore-table option
---echo #
-
-create database db42635;
-use db42635;
-create table t1 (id int);
-create view db42635.v1 (c) as select * from db42635.t1;
-create view db42635.v2 (c) as select * from db42635.t1;
---exec $MYSQL_DUMP --skip-comments --ignore-table=db42635.v1 db42635
-use test;
-drop database db42635;
-
---echo #
---echo # Bug#33550 mysqldump 4.0 compatibility broken
---echo #
-
-SET NAMES utf8;
-CREATE TABLE `straße` ( f1 INT );
---exec $MYSQL_DUMP --character-sets-dir=$MYSQL_SHAREDIR/charsets --skip-comments --default-character-set=utf8 --compatible=mysql323 test
---exec $MYSQL_DUMP --character-sets-dir=$MYSQL_SHAREDIR/charsets --skip-comments --default-character-set=latin1 --compatible=mysql323 test
-DROP TABLE `straße`;
-
-CREATE TABLE `כדשגכחךלדגכחשךדגחכךלדגכ` ( f1 INT );
---exec $MYSQL_DUMP --character-sets-dir=$MYSQL_SHAREDIR/charsets --skip-comments --default-character-set=utf8 --compatible=mysql323 test
---error 2
---exec $MYSQL_DUMP --character-sets-dir=$MYSQL_SHAREDIR/charsets --skip-comments --default-character-set=latin1 --compatible=mysql323 test
-DROP TABLE `כדשגכחךלדגכחשךדגחכךלדגכ`;
-SET NAMES latin1;
-
---echo #
---echo # End of 5.0 tests
---echo #
-
-# Check new --replace option
-
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
-CREATE TABLE t1(a int, b int);
-INSERT INTO t1 VALUES (1,1);
-INSERT INTO t1 VALUES (2,3);
-INSERT INTO t1 VALUES (3,4), (4,5);
---exec $MYSQL_DUMP --replace --skip-comments test t1
-DROP TABLE t1;
-
-#
-# Added for use-thread option
-#
-
-create table t1 (a text , b text);
-create table t2 (a text , b text);
-insert t1 values ("Duck, Duck", "goose");
-insert t1 values ("Duck, Duck", "pidgeon");
-insert t2 values ("We the people", "in order to perform");
-insert t2 values ("a more perfect", "union");
-select * from t1;
-select * from t2;
---exec $MYSQL_DUMP --tab=$MYSQLTEST_VARDIR/tmp/ test
---exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/t1.sql
---exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/t2.sql
-# The first load tests the pausing code
---exec $MYSQL_IMPORT --use-threads=1 test $MYSQLTEST_VARDIR/tmp/t1.txt $MYSQLTEST_VARDIR/tmp/t2.txt
-# Now we test with multiple threads!
---exec $MYSQL_IMPORT --silent --use-threads=5 test $MYSQLTEST_VARDIR/tmp/t1.txt $MYSQLTEST_VARDIR/tmp/t2.txt
-select * from t1;
-select * from t2;
-# Now we test with multiple threads, but less threads than files.
-create table words(a varchar(255));
-create table words2(b varchar(255));
---exec $MYSQL_IMPORT --silent --use-threads=2 test $MYSQLTEST_VARDIR/tmp/t1.txt $MYSQLTEST_VARDIR/tmp/t2.txt $MYSQLTEST_VARDIR/std_data/words.dat $MYSQLTEST_VARDIR/std_data/words2.dat
-select * from t1;
-select * from t2;
-select * from words;
-select * from words2;
-
-# Drop table "words" and run with threads, should fail
-drop table words;
---replace_regex /.*mysqlimport(\.exe)*/mysql-import/
---error 1
---exec $MYSQL_IMPORT --silent --use-threads=2 test $MYSQLTEST_VARDIR/tmp/t1.txt $MYSQLTEST_VARDIR/tmp/t2.txt $MYSQLTEST_VARDIR/std_data/words.dat $MYSQLTEST_VARDIR/std_data/words2.dat 2>&1
-
-drop table t1;
-drop table t2;
-
-drop table words2;
-
---echo #
---echo # Bug#16853 mysqldump doesn't show events
---echo #
-
-create database first;
-use first;
-set time_zone = 'UTC';
-
-## prove one works (with spaces and tabs on the end)
-create event ee1 on schedule at '2035-12-31 20:01:23' do set @a=5;    	 	
-show events;
-show create event ee1;
---exec $MYSQL_DUMP --events first > $MYSQLTEST_VARDIR/tmp/bug16853-1.sql
-drop database first;
-
-create database second;
-use second;
---exec $MYSQL second < $MYSQLTEST_VARDIR/tmp/bug16853-1.sql
-show events;
-show create event ee1;
---remove_file $MYSQLTEST_VARDIR/tmp/bug16853-1.sql
-
-## prove three works (with spaces and tabs on the end)
-# start with one from the previous restore
-create event ee2 on schedule at '2018-12-31 21:01:23' do set @a=5;	      
-create event ee3 on schedule at '2030-12-31 22:01:23' do set @a=5;    		
-show events;
---exec $MYSQL_DUMP --events second > $MYSQLTEST_VARDIR/tmp/bug16853-2.sql
-drop database second;
-
-create database third;
-use third;
---exec $MYSQL third < $MYSQLTEST_VARDIR/tmp/bug16853-2.sql
-show events;
-drop database third;
---remove_file $MYSQLTEST_VARDIR/tmp/bug16853-2.sql
-
-# revert back to normal settings
-set time_zone = 'SYSTEM';
-use test;
-
---echo #
---echo # Bug#17201 Spurious 'DROP DATABASE' in output,
---echo # also confusion between tables and views.
---echo # Example code from Markus Popp
---echo #
-
-create database mysqldump_test_db;
-use mysqldump_test_db;
-create table t1 (id int);
-create view v1 as select * from t1;
-insert into t1 values (1232131);
-insert into t1 values (4711);
-insert into t1 values (3231);
-insert into t1 values (0815);
---exec $MYSQL_DUMP --skip-comments --add-drop-database --databases mysqldump_test_db
-drop view v1;
-drop table t1;
-drop database mysqldump_test_db;
-
-#
-# Bug#26121 mysqldump includes LOCK TABLES general_log WRITE
-#
---exec $MYSQL_DUMP --all-databases > $MYSQLTEST_VARDIR/tmp/bug26121.sql
---exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug26121.sql
---remove_file $MYSQLTEST_VARDIR/tmp/bug26121.sql
-
-###########################################################################
-
---echo #
---echo # Bug#30027 mysqldump does not dump views properly.
---echo #
-
---echo
---echo # Cleanup.
-
---disable_warnings
-DROP DATABASE IF EXISTS mysqldump_test_db;
---enable_warnings
-
---echo
---echo # Create objects.
-
-CREATE DATABASE mysqldump_test_db;
-
-set names koi8r;
-
-CREATE VIEW mysqldump_test_db.v2 AS SELECT 1 AS 1;
-CREATE VIEW mysqldump_test_db.v1 AS SELECT 1 FROM mysqldump_test_db.v2;
-
-set names latin1;
-
---echo
---echo # Dump mysqldump_test_db to bug30027.sql.
-
---exec $MYSQL_DUMP --character-sets-dir=$MYSQL_SHAREDIR/charsets --default-character-set=latin1 --databases mysqldump_test_db > $MYSQLTEST_VARDIR/tmp/bug30027.sql
-
---echo
---echo # Drop mysqldump_test_db.
-
-DROP DATABASE mysqldump_test_db;
-
---echo
---echo # Restore mysqldump_test_db from bug30027.sql.
-
---exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/bug30027.sql
-
---echo
---echo # Check the view.
-
-set names utf8;
-
-SHOW CREATE VIEW mysqldump_test_db.v1;
-SHOW CREATE VIEW mysqldump_test_db.v2;
-
-set names latin1;
-
---echo
---echo # Cleanup.
-
-DROP DATABASE mysqldump_test_db;
---remove_file $MYSQLTEST_VARDIR/tmp/bug30027.sql
-
-###########################################################################
-
---echo #
---echo # Bug#29938 wrong behavior of mysqldump --skip-events
---echo #           with --all-databases
---echo #
-
-TRUNCATE mysql.event;
-
-USE test;
-CREATE event e29938 ON SCHEDULE AT '2035-12-31 20:01:23' DO SET @bug29938=29938;
-SHOW EVENTS;
---exec $MYSQL_DUMP --skip-events --all-databases > $MYSQLTEST_VARDIR/tmp/bug29938.sql
-
-TRUNCATE mysql.event;
---exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug29938.sql
-SHOW EVENTS;
---remove_file $MYSQLTEST_VARDIR/tmp/bug29938.sql
-
-
---echo #
---echo # Bug#31113 mysqldump 5.1 can't handle a dash ("-") in database names
---echo #
-create database `test-database`;
-use `test-database`;
-create table test (a int);
---exec $MYSQL_DUMP --compact --opt --quote-names test-database
-drop database `test-database`;
-use test;
-
-###########################################################################
-
---echo
---echo # -----------------------------------------------------------------
---echo # -- Bug#30217 Views: changes in metadata behaviour between 5.0 and 5.1.
---echo # -----------------------------------------------------------------
---echo
-
---disable_warnings
-DROP DATABASE IF EXISTS mysqldump_test_db;
---enable_warnings
-
-CREATE DATABASE mysqldump_test_db;
-use mysqldump_test_db;
-
---echo
-
-CREATE VIEW v1(x, y) AS SELECT 'a', 'a';
-
---echo
-
-SELECT view_definition
-FROM INFORMATION_SCHEMA.VIEWS
-WHERE table_schema = 'mysqldump_test_db' AND table_name = 'v1';
-
---echo
-
---echo ---> Dumping mysqldump_test_db to bug30217.sql
---exec $MYSQL_DUMP --character-sets-dir=$MYSQL_SHAREDIR/charsets --databases mysqldump_test_db > $MYSQLTEST_VARDIR/tmp/bug30217.sql
-
---echo
-
-DROP DATABASE mysqldump_test_db;
-use test;
-
---echo
-
---echo ---> Restoring mysqldump_test_db...
---exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/bug30217.sql
-
---echo
-
-SELECT view_definition
-FROM INFORMATION_SCHEMA.VIEWS
-WHERE table_schema = 'mysqldump_test_db' AND table_name = 'v1';
-
---echo
-
-DROP DATABASE mysqldump_test_db;
---remove_file $MYSQLTEST_VARDIR/tmp/bug30217.sql
-
---echo
---echo # -- End of test case for Bug#32538.
---echo
-
---echo #
---echo # Bug#37377 Incorrect DROP TABLE statement in dump of a VIEW using --tab
---echo #
-
-create table t1 (a int);
-create view v1 as select a from t1;
-
---exec $MYSQL_DUMP --skip-comments --tab=$MYSQLTEST_VARDIR/tmp/ test t1 v1
-
-drop view v1;
-drop table t1;
-
---exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/t1.sql
---exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/v1.sql
-
-drop view v1;
-drop table t1;
-
---remove_file $MYSQLTEST_VARDIR/tmp/t1.sql
---remove_file $MYSQLTEST_VARDIR/tmp/t1.txt
---remove_file $MYSQLTEST_VARDIR/tmp/v1.sql
-
-
---echo #
---echo # Bug#28071 mysqlimport does not quote or escape table name
---echo #
-
---disable_warnings
-drop table if exists `load`;
---enable_warnings
-create table `load` (a varchar(255));
-
---copy_file std_data/words.dat $MYSQLTEST_VARDIR/tmp/load.txt
---chmod 0644 $MYSQLTEST_VARDIR/tmp/load.txt
-
---exec $MYSQL_IMPORT --ignore test $MYSQLTEST_VARDIR/tmp/load.txt
-
-select count(*) from `load`;
-
---remove_file $MYSQLTEST_VARDIR/tmp/load.txt
-
-drop table `load`;
-
-# We reset concurrent_inserts value to whatever it was at the start of the
-# test This line must be executed _after_ all test cases.
-SET @@GLOBAL.CONCURRENT_INSERT = @OLD_CONCURRENT_INSERT;
-
-
-###########################################################################
-
---echo
---echo Bug #34861 - mysqldump with --tab gives weird output for triggers.
---echo
-
-CREATE TABLE t1 (f1 INT);
-CREATE TRIGGER tr1 BEFORE UPDATE ON t1 FOR EACH ROW SET @f1 = 1;
-CREATE PROCEDURE pr1 () SELECT "Meow";
-CREATE EVENT ev1 ON SCHEDULE AT '2030-01-01 00:00:00' DO SELECT "Meow";
-
---echo
-SHOW TRIGGERS;
-SHOW EVENTS;
-SELECT name,body FROM mysql.proc WHERE NAME = 'pr1';
-
---echo
---echo dump table; if anything goes to stdout, it ends up here: ---------------
---exec $MYSQL_DUMP --compact --routines --triggers --events --result-file=$MYSQLTEST_VARDIR/tmp/test_34861.sql --tab=$MYSQLTEST_VARDIR/tmp/ test
-
---echo
---echo drop everything
-DROP EVENT ev1;
-DROP TRIGGER tr1;
-DROP TABLE t1;
-DROP PROCEDURE pr1;
-
---echo
---echo reload table; this should restore table and trigger
---exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/t1.sql
-SHOW TRIGGERS;
-SHOW EVENTS;
-SELECT name,body FROM mysql.proc WHERE NAME = 'pr1';
-
---echo
---echo reload db; this should restore routines and events
---exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/test_34861.sql
-SHOW TRIGGERS;
-SHOW EVENTS;
-SELECT name,body FROM mysql.proc WHERE NAME = 'pr1';
-
---echo
---echo cleanup
---remove_file $MYSQLTEST_VARDIR/tmp/t1.txt
---remove_file $MYSQLTEST_VARDIR/tmp/t1.sql
---remove_file $MYSQLTEST_VARDIR/tmp/test_34861.sql
---disable_warnings
-DROP EVENT IF EXISTS ev1;
-DROP PROCEDURE IF EXISTS pr1;
-DROP TRIGGER IF EXISTS tr1;
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
-###########################################################################
-
---echo #
---echo # Bug #30946: mysqldump silently ignores --default-character-set
---echo #             when used with --tab
---echo #
---echo # Also see outfile_loaddata.test
---echo #
-
-SET NAMES utf8;
-CREATE TABLE t1 (a INT, b CHAR(10) CHARSET koi8r, c CHAR(10) CHARSET latin1);
-CREATE TABLE t2 LIKE t1;
-INSERT INTO t1 VALUES (1, 'ABC-АБВ', 'DEF-ÂÃÄ'), (2, NULL, NULL);
-
---let $file=$MYSQLTEST_VARDIR/tmp/t1.txt
-
-
---echo # error on multi-character ENCLOSED/ESCAPED BY
-
---error 2
---exec $MYSQL_DUMP --tab=$MYSQLTEST_VARDIR/tmp/ --fields-enclosed-by='12345' test t1
---remove_file $file
-
---error 2
---exec $MYSQL_DUMP --tab=$MYSQLTEST_VARDIR/tmp/ --fields-escaped-by='12345' test t1
---remove_file $file
-
---echo # default '--default-charset' (binary):
-
---exec $MYSQL_DUMP --character-sets-dir=$MYSQL_SHAREDIR/charsets --tab=$MYSQLTEST_VARDIR/tmp/ test t1
---echo ##################################################
---cat_file $file
---echo ##################################################
-TRUNCATE t2;
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET binary
---remove_file $file
-SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
-
-
---echo # utf8:
-
---exec $MYSQL_DUMP --character-sets-dir=$MYSQL_SHAREDIR/charsets --default-character-set=utf8 --tab=$MYSQLTEST_VARDIR/tmp/ test t1
---echo ##################################################
---cat_file $file
---echo ##################################################
-TRUNCATE t2;
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET utf8
---remove_file $file
-SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
-
-
---echo # latin1 (data corruption is expected):
-
---exec $MYSQL_DUMP --character-sets-dir=$MYSQL_SHAREDIR/charsets --default-character-set=latin1 --tab=$MYSQLTEST_VARDIR/tmp/ test t1
---echo ##################################################
---cat_file $file
---echo ##################################################
-TRUNCATE t2;
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET latin1 
---remove_file $file
-SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
-
-
---echo # koi8r (data corruption is expected):
-
---exec $MYSQL_DUMP --character-sets-dir=$MYSQL_SHAREDIR/charsets --default-character-set=koi8r --tab=$MYSQLTEST_VARDIR/tmp/ test t1
---echo ##################################################
---cat_file $file
---echo ##################################################
-TRUNCATE t2;
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET koi8r
---remove_file $file
-SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
-
-
-SET NAMES default;
-
-DROP TABLE t1, t2;
-###########################################################################
-
---echo #
---echo # Bug #53088: mysqldump with -T & --default-character-set set
---echo #             truncates text/blob to 766 chars
---echo #
---echo # Also see outfile_loaddata.test
---echo #
-
-CREATE TABLE t1 (a BLOB) CHARSET latin1;
-CREATE TABLE t2 LIKE t1;
-
-let $table= t1;
-let $dir= $MYSQLTEST_VARDIR/tmp;
-let $file= $dir/$table.txt;
-let $length= 800;
-
---eval INSERT INTO t1 VALUES (REPEAT('.', $length))
-
---exec $MYSQL_DUMP --character-sets-dir=$CHARSETSDIR --default-character-set=latin1 --tab=$dir/ test $table
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
-
---eval LOAD DATA INFILE '$file' INTO TABLE t2 CHARACTER SET latin1
---remove_file $file
-
---echo # should be $length
-SELECT LENGTH(a) FROM t2;
-
-DROP TABLE t1, t2;
-
-###########################################################################
-
---echo #
---echo # Bug #13618 : mysqldump --xml ommit comment on table field
---echo #
-
-CREATE TABLE `comment_table` (i INT COMMENT 'FIELD COMMENT') COMMENT = 'TABLE COMMENT';
---exec $MYSQL_DUMP --compact --skip-create --xml test
-DROP TABLE `comment_table`;
-
---echo #
---echo # BUG#11766310 : 59398: MYSQLDUMP 5.1 CAN'T HANDLE A DASH ("-") IN
---echo #                DATABASE NAMES IN ALTER DATABASE
---echo #
-
-CREATE DATABASE `test-database`;
-USE `test-database`;
-CREATE TABLE `test` (`c1` VARCHAR(10)) ENGINE=MYISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-
-DELIMITER |;
-CREATE TRIGGER `trig` BEFORE INSERT ON `test` FOR EACH ROW BEGIN
-END |
-DELIMITER ;|
-
-ALTER DATABASE `test-database` CHARACTER SET latin1 COLLATE latin1_swedish_ci;
-ALTER DATABASE `test-database` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
-
---exec $MYSQL_DUMP --quote-names --compact test-database
-
-DROP DATABASE `test-database`;
-# Switching back to test database.
-USE test;
-
---echo #
---echo # BUG#11760384 : 52792: mysqldump in XML mode does not dump routines.
---echo #
-CREATE DATABASE BUG52792;
-USE BUG52792;
-CREATE TABLE t1 (c1 INT, c2 VARCHAR(20));
-CREATE TABLE t2 (c1 INT);
-INSERT INTO t1 VALUES (1, 'aaa'), (2, 'bbb'), (3, 'ccc');
-INSERT INTO t2 VALUES (1),(2),(3);
-
---echo # Stored Procedures.
-
-DELIMITER //;
-CREATE PROCEDURE simpleproc1 (OUT param1 INT)
-BEGIN
-  SELECT COUNT(*) INTO param1 FROM t1;
-END//
-DELIMITER ;//
-
-DELIMITER //;
-CREATE PROCEDURE simpleproc2 (OUT param1 INT)
-BEGIN
-  SELECT COUNT(*) INTO param1 FROM t2;
-END//
-DELIMITER ;//
-
---echo # Events.
-
-CREATE EVENT e1 ON SCHEDULE EVERY 1 SECOND DO DROP DATABASE BUG52792;
-CREATE EVENT e2 ON SCHEDULE EVERY 1 SECOND DO DROP DATABASE BUG52792;
-
---echo # Functions.
-
-CREATE FUNCTION `hello1` (s CHAR(20))
-  RETURNS CHAR(50) DETERMINISTIC
-RETURN CONCAT('Hello, ' ,s ,'!');
-
-CREATE FUNCTION `hello2` (s CHAR(20))
-    RETURNS CHAR(50) DETERMINISTIC
-RETURN CONCAT(']]>, ' , s ,'!');
-
---echo # Triggers.
-
-DELIMITER |;
-CREATE TRIGGER trig1 BEFORE INSERT ON t2
-  FOR EACH ROW BEGIN
-    INSERT INTO t2 VALUES(1);
-END;
-|
-DELIMITER ;|
-
-DELIMITER |;
-CREATE TRIGGER trig2 AFTER INSERT ON t2
-  FOR EACH ROW BEGIN
-    INSERT INTO t2 VALUES(1, ']]>');
-    INSERT INTO t2 VALUES(2, '<![CDATA]]>');
-    INSERT INTO t2 VALUES(3, '<![CDATA[');
-    INSERT INTO t2 VALUES(4, '< > & \ " _');
-END;
-|
-DELIMITER ;|
-
---echo # Views
-
-CREATE VIEW v1 AS SELECT * FROM t1;
-CREATE VIEW v2 AS SELECT * FROM t2;
---echo
---echo # Dumping BUG52792 database in xml format.
---echo
---echo # Running 'replace_regex on timestamp'
---replace_regex /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}/--TIME--/
---exec $MYSQL_DUMP --user=root --compact -R -E --triggers -X BUG52792
---echo
---echo # Dumping BUG52792 database in xml format with comments.
---echo
---echo # Running 'replace_regex on timestamp'
---replace_regex /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}/--TIME--/
---exec $MYSQL_DUMP --comments --user=root -R -E --triggers -X BUG52792
-
---echo
---echo # Test to check 'Insufficient privileges' error.
---echo
-
-GRANT ALL PRIVILEGES ON BUG52792.* TO user1;
-
-connect (conn_1, localhost, user1, , BUG52792, $MASTER_MYPORT, $MASTER_MYSOCK);
-connection conn_1;
-
---echo # Running 'replace_regex on timestamp'
---replace_regex /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}/--TIME--/
---error 2
---exec $MYSQL_DUMP --user=user1 -R -E --triggers -X BUG52792
-
-connection default;
-disconnect conn_1;
-
-DROP USER user1;
-DROP DATABASE BUG52792;
---echo # UTF-8
-CREATE DATABASE BUG52792;
-USE BUG52792;
-SET NAMES utf8;
-CREATE FUNCTION `straße` ( c1 CHAR(20))
-  RETURNS CHAR(50) DETERMINISTIC
-RETURN CONCAT(']]>, ', s, '!');
-
---exec $MYSQL_DUMP --character-sets-dir=$CHARSETSDIR --skip-comments --default-character-set=utf8 --compatible=mysql323 -R -X BUG52792
-
-DROP DATABASE BUG52792;
-
-USE test;
-
---echo #
---echo # End of 5.1 tests
---echo #
-
---echo #
---echo # Verify that two modes can be given in --compatible;
---echo # and are reflected in SET SQL_MODE in the mysqldump output.
---echo # Also verify that a prefix of the mode's name is enough.
---echo #
-CREATE TABLE t1 (a INT);
-# no_t = no_table_options; no_f = no_field_options
---exec $MYSQL_DUMP --compatible=no_t,no_f --skip-comments test
-DROP TABLE t1;
-
---echo #
---echo # Bug#12809202 61854: MYSQLDUMP --SINGLE-TRANSACTION --FLUSH-LOG BREAKS
---echo #                     CONSISTENCY
---echo #
-
---disable_warnings
-DROP DATABASE IF EXISTS b12809202_db;
---enable_warnings
-
-CREATE DATABASE b12809202_db;
-CREATE TABLE b12809202_db.t1 (c1 INT);
-CREATE TABLE b12809202_db.t2 (c1 INT);
-
-INSERT INTO b12809202_db.t1 VALUES (1), (2), (3);
-INSERT INTO b12809202_db.t2 VALUES (1), (2), (3);
-
---echo # Starting mysqldump with --single-transaction & --flush-log options..
---echo # Note : In the following dump the transaction
---echo #        should start only after the logs are
---echo #        flushed, as 'flush logs' causes implicit
---echo #        commit starting 5.5.
---echo
---echo #### Dump starts here ####
---replace_regex /-- Server version.*// /-- MySQL dump .*// /-- Dump completed on .*/-- Dump completed/
---exec $MYSQL_DUMP --verbose --single-transaction --flush-log b12809202_db 2>&1
---echo
---echo #### Dump ends here ####
-
-# Cleanup
-DROP TABLE b12809202_db.t1;
-DROP TABLE b12809202_db.t2;
-DROP DATABASE b12809202_db;
-
---echo #
---echo # Delete all existing binary logs.
---echo #
-RESET MASTER;
-
-# Wait till we reached the initial number of concurrent sessions
---source include/wait_until_count_sessions.inc

=== added directory '.pc/revert_atomic.patch'
=== added directory '.pc/revert_atomic.patch/storage'
=== added directory '.pc/revert_atomic.patch/storage/innobase'
=== added directory '.pc/revert_atomic.patch/storage/innobase/include'
=== added file '.pc/revert_atomic.patch/storage/innobase/include/os0sync.h'
--- .pc/revert_atomic.patch/storage/innobase/include/os0sync.h	1970-01-01 00:00:00 +0000
+++ .pc/revert_atomic.patch/storage/innobase/include/os0sync.h	2016-09-14 12:24:46 +0000
@@ -0,0 +1,515 @@
+/*****************************************************************************
+
+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 2008, Google Inc.
+
+Portions of this file contain modifications contributed and copyrighted by
+Google, Inc. Those modifications are gratefully acknowledged and are described
+briefly in the InnoDB documentation. The contributions by Google are
+incorporated with their permission, and subject to the conditions contained in
+the file COPYING.Google.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; version 2 of the License.
+
+This program is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 
+51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+*****************************************************************************/
+
+/**************************************************//**
+@file include/os0sync.h
+The interface to the operating system
+synchronization primitives.
+
+Created 9/6/1995 Heikki Tuuri
+*******************************************************/
+
+#ifndef os0sync_h
+#define os0sync_h
+
+#include "univ.i"
+#include "ut0lst.h"
+
+#if defined __i386__ || defined __x86_64__ || defined _M_IX86 \
+    || defined _M_X64 || defined __WIN__
+
+#define IB_STRONG_MEMORY_MODEL
+
+#endif /* __i386__ || __x86_64__ || _M_IX86 || M_X64 || __WIN__ */
+
+#ifdef HAVE_WINDOWS_ATOMICS
+typedef LONG lock_word_t;	/*!< On Windows, InterlockedExchange operates
+				on LONG variable */
+#else
+typedef byte lock_word_t;
+#endif
+
+#ifdef __WIN__
+/** Native event (slow)*/
+typedef HANDLE			os_native_event_t;
+/** Native mutex */
+typedef CRITICAL_SECTION	os_fast_mutex_t;
+/** Native condition variable. */
+typedef CONDITION_VARIABLE	os_cond_t;
+#else
+/** Native mutex */
+typedef pthread_mutex_t		os_fast_mutex_t;
+/** Native condition variable */
+typedef pthread_cond_t		os_cond_t;
+#endif
+
+/** Operating system event */
+typedef struct os_event_struct	os_event_struct_t;
+/** Operating system event handle */
+typedef os_event_struct_t*	os_event_t;
+
+/** An asynchronous signal sent between threads */
+struct os_event_struct {
+#ifdef __WIN__
+	HANDLE		handle;		/*!< kernel event object, slow,
+					used on older Windows */
+#endif
+	os_fast_mutex_t	os_mutex;	/*!< this mutex protects the next
+					fields */
+	ibool		is_set;		/*!< this is TRUE when the event is
+					in the signaled state, i.e., a thread
+					does not stop if it tries to wait for
+					this event */
+	ib_int64_t	signal_count;	/*!< this is incremented each time
+					the event becomes signaled */
+	os_cond_t	cond_var;	/*!< condition variable is used in
+					waiting for the event */
+	UT_LIST_NODE_T(os_event_struct_t) os_event_list;
+					/*!< list of all created events */
+};
+
+/** Denotes an infinite delay for os_event_wait_time() */
+#define OS_SYNC_INFINITE_TIME   ULINT_UNDEFINED
+
+/** Return value of os_event_wait_time() when the time is exceeded */
+#define OS_SYNC_TIME_EXCEEDED   1
+
+/** Operating system mutex */
+typedef struct os_mutex_struct	os_mutex_str_t;
+/** Operating system mutex handle */
+typedef os_mutex_str_t*		os_mutex_t;
+
+/** Mutex protecting counts and the event and OS 'slow' mutex lists */
+extern os_mutex_t	os_sync_mutex;
+
+/** This is incremented by 1 in os_thread_create and decremented by 1 in
+os_thread_exit */
+extern ulint		os_thread_count;
+
+extern ulint		os_event_count;
+extern ulint		os_mutex_count;
+extern ulint		os_fast_mutex_count;
+
+/*********************************************************//**
+Initializes global event and OS 'slow' mutex lists. */
+UNIV_INTERN
+void
+os_sync_init(void);
+/*==============*/
+/*********************************************************//**
+Frees created events and OS 'slow' mutexes. */
+UNIV_INTERN
+void
+os_sync_free(void);
+/*==============*/
+/*********************************************************//**
+Creates an event semaphore, i.e., a semaphore which may just have two states:
+signaled and nonsignaled. The created event is manual reset: it must be reset
+explicitly by calling sync_os_reset_event.
+@return	the event handle */
+UNIV_INTERN
+os_event_t
+os_event_create(
+/*============*/
+	const char*	name);	/*!< in: the name of the event, if NULL
+				the event is created without a name */
+/**********************************************************//**
+Sets an event semaphore to the signaled state: lets waiting threads
+proceed. */
+UNIV_INTERN
+void
+os_event_set(
+/*=========*/
+	os_event_t	event);	/*!< in: event to set */
+/**********************************************************//**
+Resets an event semaphore to the nonsignaled state. Waiting threads will
+stop to wait for the event.
+The return value should be passed to os_even_wait_low() if it is desired
+that this thread should not wait in case of an intervening call to
+os_event_set() between this os_event_reset() and the
+os_event_wait_low() call. See comments for os_event_wait_low(). */
+UNIV_INTERN
+ib_int64_t
+os_event_reset(
+/*===========*/
+	os_event_t	event);	/*!< in: event to reset */
+/**********************************************************//**
+Frees an event object. */
+UNIV_INTERN
+void
+os_event_free(
+/*==========*/
+	os_event_t	event);	/*!< in: event to free */
+
+/**********************************************************//**
+Waits for an event object until it is in the signaled state.
+
+Typically, if the event has been signalled after the os_event_reset()
+we'll return immediately because event->is_set == TRUE.
+There are, however, situations (e.g.: sync_array code) where we may
+lose this information. For example:
+
+thread A calls os_event_reset()
+thread B calls os_event_set()   [event->is_set == TRUE]
+thread C calls os_event_reset() [event->is_set == FALSE]
+thread A calls os_event_wait()  [infinite wait!]
+thread C calls os_event_wait()  [infinite wait!]
+
+Where such a scenario is possible, to avoid infinite wait, the
+value returned by os_event_reset() should be passed in as
+reset_sig_count. */
+UNIV_INTERN
+void
+os_event_wait_low(
+/*==============*/
+	os_event_t	event,		/*!< in: event to wait */
+	ib_int64_t	reset_sig_count);/*!< in: zero or the value
+					returned by previous call of
+					os_event_reset(). */
+
+#define os_event_wait(event) os_event_wait_low(event, 0)
+#define os_event_wait_time(e, t) os_event_wait_time_low(event, t, 0)
+
+/**********************************************************//**
+Waits for an event object until it is in the signaled state or
+a timeout is exceeded. In Unix the timeout is always infinite.
+@return	0 if success, OS_SYNC_TIME_EXCEEDED if timeout was exceeded */
+UNIV_INTERN
+ulint
+os_event_wait_time_low(
+/*===================*/
+	os_event_t	event,			/*!< in: event to wait */
+	ulint		time_in_usec,		/*!< in: timeout in
+						microseconds, or
+						OS_SYNC_INFINITE_TIME */
+	ib_int64_t	reset_sig_count);	/*!< in: zero or the value
+						returned by previous call of
+						os_event_reset(). */
+/*********************************************************//**
+Creates an operating system mutex semaphore. Because these are slow, the
+mutex semaphore of InnoDB itself (mutex_t) should be used where possible.
+@return	the mutex handle */
+UNIV_INTERN
+os_mutex_t
+os_mutex_create(void);
+/*=================*/
+/**********************************************************//**
+Acquires ownership of a mutex semaphore. */
+UNIV_INTERN
+void
+os_mutex_enter(
+/*===========*/
+	os_mutex_t	mutex);	/*!< in: mutex to acquire */
+/**********************************************************//**
+Releases ownership of a mutex. */
+UNIV_INTERN
+void
+os_mutex_exit(
+/*==========*/
+	os_mutex_t	mutex);	/*!< in: mutex to release */
+/**********************************************************//**
+Frees an mutex object. */
+UNIV_INTERN
+void
+os_mutex_free(
+/*==========*/
+	os_mutex_t	mutex);	/*!< in: mutex to free */
+/**********************************************************//**
+Acquires ownership of a fast mutex. Currently in Windows this is the same
+as os_fast_mutex_lock!
+@return	0 if success, != 0 if was reserved by another thread */
+UNIV_INLINE
+ulint
+os_fast_mutex_trylock(
+/*==================*/
+	os_fast_mutex_t*	fast_mutex);	/*!< in: mutex to acquire */
+/**********************************************************//**
+Releases ownership of a fast mutex. */
+UNIV_INTERN
+void
+os_fast_mutex_unlock(
+/*=================*/
+	os_fast_mutex_t*	fast_mutex);	/*!< in: mutex to release */
+/*********************************************************//**
+Initializes an operating system fast mutex semaphore. */
+UNIV_INTERN
+void
+os_fast_mutex_init(
+/*===============*/
+	os_fast_mutex_t*	fast_mutex);	/*!< in: fast mutex */
+/**********************************************************//**
+Acquires ownership of a fast mutex. */
+UNIV_INTERN
+void
+os_fast_mutex_lock(
+/*===============*/
+	os_fast_mutex_t*	fast_mutex);	/*!< in: mutex to acquire */
+/**********************************************************//**
+Frees an mutex object. */
+UNIV_INTERN
+void
+os_fast_mutex_free(
+/*===============*/
+	os_fast_mutex_t*	fast_mutex);	/*!< in: mutex to free */
+
+/**********************************************************//**
+Atomic compare-and-swap and increment for InnoDB. */
+
+#if defined(HAVE_IB_GCC_ATOMIC_BUILTINS)
+
+#define HAVE_ATOMIC_BUILTINS
+
+/**********************************************************//**
+Returns true if swapped, ptr is pointer to target, old_val is value to
+compare to, new_val is the value to swap in. */
+
+# define os_compare_and_swap(ptr, old_val, new_val) \
+	__sync_bool_compare_and_swap(ptr, old_val, new_val)
+
+# define os_compare_and_swap_ulint(ptr, old_val, new_val) \
+	os_compare_and_swap(ptr, old_val, new_val)
+
+# define os_compare_and_swap_lint(ptr, old_val, new_val) \
+	os_compare_and_swap(ptr, old_val, new_val)
+
+# ifdef HAVE_IB_ATOMIC_PTHREAD_T_GCC
+#  define os_compare_and_swap_thread_id(ptr, old_val, new_val) \
+	os_compare_and_swap(ptr, old_val, new_val)
+#  define INNODB_RW_LOCKS_USE_ATOMICS
+#  define IB_ATOMICS_STARTUP_MSG \
+	"Mutexes and rw_locks use GCC atomic builtins"
+# else /* HAVE_IB_ATOMIC_PTHREAD_T_GCC */
+#  define IB_ATOMICS_STARTUP_MSG \
+	"Mutexes use GCC atomic builtins, rw_locks do not"
+# endif /* HAVE_IB_ATOMIC_PTHREAD_T_GCC */
+
+/**********************************************************//**
+Returns the resulting value, ptr is pointer to target, amount is the
+amount of increment. */
+
+# define os_atomic_increment(ptr, amount) \
+	__sync_add_and_fetch(ptr, amount)
+
+# define os_atomic_increment_lint(ptr, amount) \
+	os_atomic_increment(ptr, amount)
+
+# define os_atomic_increment_ulint(ptr, amount) \
+	os_atomic_increment(ptr, amount)
+
+# if defined(IB_STRONG_MEMORY_MODEL)
+
+/** Do an atomic test and set.
+@param[in,out]	ptr		Memory location to set to non-zero
+@return the previous value */
+static inline
+lock_word_t
+os_atomic_test_and_set(volatile lock_word_t* ptr)
+{
+	return(__sync_lock_test_and_set(ptr, 1));
+}
+
+/** Do an atomic release.
+
+In theory __sync_lock_release should be used to release the lock.
+Unfortunately, it does not work properly alone. The workaround is
+that more conservative __sync_lock_test_and_set is used instead.
+
+Performance regression was observed at some conditions for Intel
+architecture. Disable release barrier on Intel architecture for now.
+@param[in,out]	ptr		Memory location to write to
+@return the previous value */
+static inline
+lock_word_t
+os_atomic_clear(volatile lock_word_t* ptr)
+{
+	return(__sync_lock_test_and_set(ptr, 0));
+}
+
+# elif defined(HAVE_IB_GCC_ATOMIC_TEST_AND_SET)
+
+/** Do an atomic test-and-set.
+@param[in,out]	ptr		Memory location to set to non-zero
+@return the previous value */
+static inline
+lock_word_t
+os_atomic_test_and_set(volatile lock_word_t* ptr)
+{
+       return(__atomic_test_and_set(ptr, __ATOMIC_ACQUIRE));
+}
+
+/** Do an atomic clear.
+@param[in,out]	ptr		Memory location to set to zero */
+static inline
+void
+os_atomic_clear(volatile lock_word_t* ptr)
+{
+	__atomic_clear(ptr, __ATOMIC_RELEASE);
+}
+
+# else
+
+#  error "Unsupported platform"
+
+# endif /* HAVE_IB_GCC_ATOMIC_TEST_AND_SET */
+
+#elif defined(HAVE_IB_SOLARIS_ATOMICS)
+
+#define HAVE_ATOMIC_BUILTINS
+
+/* If not compiling with GCC or GCC doesn't support the atomic
+intrinsics and running on Solaris >= 10 use Solaris atomics */
+
+#include <atomic.h>
+
+/**********************************************************//**
+Returns true if swapped, ptr is pointer to target, old_val is value to
+compare to, new_val is the value to swap in. */
+
+# define os_compare_and_swap_ulint(ptr, old_val, new_val) \
+	(atomic_cas_ulong(ptr, old_val, new_val) == old_val)
+
+# define os_compare_and_swap_lint(ptr, old_val, new_val) \
+	((lint)atomic_cas_ulong((ulong_t*) ptr, old_val, new_val) == old_val)
+
+# ifdef HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS
+#  if SIZEOF_PTHREAD_T == 4
+#   define os_compare_and_swap_thread_id(ptr, old_val, new_val) \
+	((pthread_t)atomic_cas_32(ptr, old_val, new_val) == old_val)
+#  elif SIZEOF_PTHREAD_T == 8
+#   define os_compare_and_swap_thread_id(ptr, old_val, new_val) \
+	((pthread_t)atomic_cas_64(ptr, old_val, new_val) == old_val)
+#  else
+#   error "SIZEOF_PTHREAD_T != 4 or 8"
+#  endif /* SIZEOF_PTHREAD_T CHECK */
+#  define INNODB_RW_LOCKS_USE_ATOMICS
+#  define IB_ATOMICS_STARTUP_MSG \
+	"Mutexes and rw_locks use Solaris atomic functions"
+# else /* HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS */
+#  define IB_ATOMICS_STARTUP_MSG \
+	"Mutexes use Solaris atomic functions, rw_locks do not"
+# endif /* HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS */
+
+/**********************************************************//**
+Returns the resulting value, ptr is pointer to target, amount is the
+amount of increment. */
+
+# define os_atomic_increment_lint(ptr, amount) \
+	atomic_add_long_nv((ulong_t*) ptr, amount)
+
+# define os_atomic_increment_ulint(ptr, amount) \
+	atomic_add_long_nv(ptr, amount)
+
+/** Do an atomic xchg and set to non-zero.
+@param[in,out]	ptr		Memory location to set to non-zero
+@return the previous value */
+static inline
+lock_word_t
+os_atomic_test_and_set(volatile lock_word_t* ptr)
+{
+	return(atomic_swap_uchar(ptr, 1));
+}
+
+/** Do an atomic xchg and set to zero.
+@param[in,out]	ptr		Memory location to set to zero
+@return the previous value */
+static inline
+lock_word_t
+os_atomic_clear(volatile lock_word_t* ptr)
+{
+	return(atomic_swap_uchar(ptr, 0));
+}
+
+#elif defined(HAVE_WINDOWS_ATOMICS)
+
+#define HAVE_ATOMIC_BUILTINS
+
+/* On Windows, use Windows atomics / interlocked */
+# ifdef _WIN64
+#  define win_cmp_and_xchg InterlockedCompareExchange64
+#  define win_xchg_and_add InterlockedExchangeAdd64
+# else /* _WIN64 */
+#  define win_cmp_and_xchg InterlockedCompareExchange
+#  define win_xchg_and_add InterlockedExchangeAdd
+# endif
+
+/**********************************************************//**
+Returns true if swapped, ptr is pointer to target, old_val is value to
+compare to, new_val is the value to swap in. */
+
+# define os_compare_and_swap_ulint(ptr, old_val, new_val) \
+	(win_cmp_and_xchg(ptr, new_val, old_val) == old_val)
+
+# define os_compare_and_swap_lint(ptr, old_val, new_val) \
+	(win_cmp_and_xchg(ptr, new_val, old_val) == old_val)
+
+/* windows thread objects can always be passed to windows atomic functions */
+# define os_compare_and_swap_thread_id(ptr, old_val, new_val) \
+	(InterlockedCompareExchange(ptr, new_val, old_val) == old_val)
+# define INNODB_RW_LOCKS_USE_ATOMICS
+# define IB_ATOMICS_STARTUP_MSG \
+	"Mutexes and rw_locks use Windows interlocked functions"
+
+/**********************************************************//**
+Returns the resulting value, ptr is pointer to target, amount is the
+amount of increment. */
+
+# define os_atomic_increment_lint(ptr, amount) \
+	(win_xchg_and_add(ptr, amount) + amount)
+
+# define os_atomic_increment_ulint(ptr, amount) \
+	((ulint) (win_xchg_and_add(ptr, amount) + amount))
+
+/** Do an atomic test and set.
+InterlockedExchange() operates on LONG, and the LONG will be clobbered
+@param[in,out]	ptr		Memory location to set to non-zero
+@return the previous value */
+static inline
+lock_word_t
+os_atomic_test_and_set(volatile lock_word_t* ptr)
+{
+	return(InterlockedExchange(ptr, 1));
+}
+
+/** Do an atomic release.
+InterlockedExchange() operates on LONG, and the LONG will be clobbered
+@param[in,out]	ptr		Memory location to set to zero
+@return the previous value */
+static inline
+lock_word_t
+os_atomic_clear(volatile lock_word_t* ptr)
+{
+	return(InterlockedExchange(ptr, 0));
+}
+
+#else
+# define IB_ATOMICS_STARTUP_MSG \
+	"Mutexes and rw_locks use InnoDB's own implementation"
+#endif
+
+#ifndef UNIV_NONINL
+#include "os0sync.ic"
+#endif
+
+#endif

=== modified file 'BUILD/SETUP.sh'
--- BUILD/SETUP.sh	2011-11-08 11:31:13 +0000
+++ BUILD/SETUP.sh	2016-09-14 12:24:46 +0000
@@ -14,8 +14,8 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free
-# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-# MA 02111-1307, USA
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1301, USA
 
 ########################################################################
 

=== modified file 'BUILD/cleanup'
--- BUILD/cleanup	2011-11-08 11:31:13 +0000
+++ BUILD/cleanup	2016-09-14 12:24:46 +0000
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 # Copyright (C) 2003 MySQL AB
-# 
+# Use is subject to license terms
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; version 2 of the License.
@@ -13,7 +13,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-alpha'
--- BUILD/compile-alpha	2011-11-08 11:31:13 +0000
+++ BUILD/compile-alpha	2016-09-14 12:24:46 +0000
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 # Copyright (C) 2000, 2002 MySQL AB
-# 
+# Use is subject to license terms
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; version 2 of the License.
@@ -13,7 +13,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-alpha-debug'
--- BUILD/compile-alpha-debug	2011-11-08 11:31:13 +0000
+++ BUILD/compile-alpha-debug	2016-09-14 12:24:46 +0000
@@ -1,6 +1,7 @@
 #! /bin/sh
 
-# Copyright (C) 2000, 2005 MySQL AB
+# Copyright (c) 2000, 2001, 2005-2007 MySQL AB
+# Use is subject to license terms
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 /bin/rm -f */.deps/*.P */*.o
 make -k maintainer-clean

=== modified file 'BUILD/compile-amd64-debug-max'
--- BUILD/compile-amd64-debug-max	2011-11-08 11:31:13 +0000
+++ BUILD/compile-amd64-debug-max	2016-09-14 12:24:46 +0000
@@ -1,6 +1,7 @@
 #! /bin/sh
 
-# Copyright (C) 2005 MySQL AB
+# Copyright (c) 2005, 2006 MySQL AB
+# Use is subject to license terms
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-amd64-debug-max-no-ndb'
--- BUILD/compile-amd64-debug-max-no-ndb	2011-11-08 11:31:13 +0000
+++ BUILD/compile-amd64-debug-max-no-ndb	2016-09-14 12:24:46 +0000
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 # Copyright (C) 2005, 2006 MySQL AB
-#
+# Use is subject to license terms
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Library General Public
 # License as published by the Free Software Foundation; version 2
@@ -14,8 +14,8 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free
-# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-# MA 02111-1307, USA
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-amd64-gcov'
--- BUILD/compile-amd64-gcov	2011-11-08 11:31:13 +0000
+++ BUILD/compile-amd64-gcov	2016-09-14 12:24:46 +0000
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 # Copyright (C) 2007 MySQL AB
-# 
+# Use is subject to license terms
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; version 2 of the License.
@@ -13,7 +13,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-amd64-gprof'
--- BUILD/compile-amd64-gprof	2011-11-08 11:31:13 +0000
+++ BUILD/compile-amd64-gprof	2016-09-14 12:24:46 +0000
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 # Copyright (C) 2007 MySQL AB
-# 
+# Use is subject to license terms 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; version 2 of the License.
@@ -13,7 +13,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-amd64-max'
--- BUILD/compile-amd64-max	2011-11-08 11:31:13 +0000
+++ BUILD/compile-amd64-max	2016-09-14 12:24:46 +0000
@@ -1,6 +1,7 @@
 #! /bin/sh
 
-# Copyright (C) 2005 MySQL AB
+# Copyright (c) 2005, 2006 MySQL AB
+# Use is subject to license terms
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-amd64-max-sci'
--- BUILD/compile-amd64-max-sci	2011-11-08 11:31:13 +0000
+++ BUILD/compile-amd64-max-sci	2016-09-14 12:24:46 +0000
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 # Copyright (C) 2007 MySQL AB
-# 
+# Use is subject to license terms 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; version 2 of the License.
@@ -13,7 +13,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-amd64-valgrind-max'
--- BUILD/compile-amd64-valgrind-max	2011-11-08 11:31:13 +0000
+++ BUILD/compile-amd64-valgrind-max	2016-09-14 12:24:46 +0000
@@ -14,8 +14,8 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free
-# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-# MA 02111-1307, USA
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-darwin-mwcc'
--- BUILD/compile-darwin-mwcc	2011-11-08 11:31:13 +0000
+++ BUILD/compile-darwin-mwcc	2016-09-14 12:24:46 +0000
@@ -1,6 +1,7 @@
 #! /bin/sh
 
-# Copyright (C) 2005 MySQL AB
+# Copyright (c) 2005, 2006 MySQL AB
+# Use is subject to license terms
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-hpux11-parisc2-aCC'
--- BUILD/compile-hpux11-parisc2-aCC	2011-11-08 11:31:13 +0000
+++ BUILD/compile-hpux11-parisc2-aCC	2016-09-14 12:24:46 +0000
@@ -1,6 +1,7 @@
 #!/bin/sh
 
-# Copyright (C) 2004, 2005 MySQL AB
+# Copyright (c) 2004, 2005, 2007 MySQL AB
+# Use is subject to license terms
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 if [ ! -f "sql/mysqld.cc" ]; then
   echo "You must run this script from the MySQL top-level directory."

=== modified file 'BUILD/compile-irix-mips64-mipspro'
--- BUILD/compile-irix-mips64-mipspro	2011-11-08 11:31:13 +0000
+++ BUILD/compile-irix-mips64-mipspro	2016-09-14 12:24:46 +0000
@@ -1,6 +1,7 @@
 #!/bin/sh
 
-# Copyright (C) 2004, 2005 MySQL AB
+# Copyright (c) 2004, 2005, 2007 MySQL AB
+# Use is subject to license terms
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 if [ ! -f "sql/mysqld.cc" ]; then
   echo "You must run this script from the MySQL top-level directory."

=== modified file 'BUILD/compile-ndb-autotest'
--- BUILD/compile-ndb-autotest	2011-11-08 11:31:13 +0000
+++ BUILD/compile-ndb-autotest	2016-09-14 12:24:46 +0000
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-# Copyright (C) 2006 MySQL AB
+# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,7 +13,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-pentium'
--- BUILD/compile-pentium	2011-11-08 11:31:13 +0000
+++ BUILD/compile-pentium	2016-09-14 12:24:46 +0000
@@ -1,6 +1,7 @@
 #! /bin/sh
 
-# Copyright (C) 2000, 2002 MySQL AB
+# Copyright (c) 2000-2002, 2007 MySQL AB
+# Use is subject to license terms
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-pentium-cybozu'
--- BUILD/compile-pentium-cybozu	2011-11-08 11:31:13 +0000
+++ BUILD/compile-pentium-cybozu	2016-09-14 12:24:46 +0000
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 # Copyright (C) 2005 MySQL AB
-# 
+# Use is subject to license terms 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; version 2 of the License.
@@ -13,7 +13,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-pentium-debug-max-no-embedded'
--- BUILD/compile-pentium-debug-max-no-embedded	2011-11-08 11:31:13 +0000
+++ BUILD/compile-pentium-debug-max-no-embedded	2016-09-14 12:24:46 +0000
@@ -1,6 +1,7 @@
 #! /bin/sh
 
-# Copyright (C) 2004, 2005 MySQL AB
+# Copyright (c) 2004-2006 MySQL AB
+# Use is subject to license terms
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-pentium-debug-max-no-ndb'
--- BUILD/compile-pentium-debug-max-no-ndb	2011-11-08 11:31:13 +0000
+++ BUILD/compile-pentium-debug-max-no-ndb	2016-09-14 12:24:46 +0000
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-# Copyright (C) 2005, 2007 MySQL AB
+# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,7 +13,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-pentium-gcov'
--- BUILD/compile-pentium-gcov	2011-11-08 11:31:13 +0000
+++ BUILD/compile-pentium-gcov	2016-09-14 12:24:46 +0000
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 # Copyright (C) 2000, 2007 MySQL AB
-# 
+# Use is subject to license terms 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; version 2 of the License.
@@ -13,7 +13,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 # Need to disable ccache, or we loose the gcov-needed compiler output files.
 

=== modified file 'BUILD/compile-pentium-gprof'
--- BUILD/compile-pentium-gprof	2011-11-08 11:31:13 +0000
+++ BUILD/compile-pentium-gprof	2016-09-14 12:24:46 +0000
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 # Copyright (C) 2001, 2007 MySQL AB
-# 
+# Use is subject to license terms 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; version 2 of the License.
@@ -13,7 +13,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-pentium-icc'
--- BUILD/compile-pentium-icc	2011-11-08 11:31:13 +0000
+++ BUILD/compile-pentium-icc	2016-09-14 12:24:46 +0000
@@ -1,7 +1,8 @@
 #! /bin/sh
 
 # Copyright (C) 2005 MySQL AB
-# 
+# Use is subject to license terms 
+#
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; version 2 of the License.
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-pentium-icc-yassl'
--- BUILD/compile-pentium-icc-yassl	2011-11-08 11:31:13 +0000
+++ BUILD/compile-pentium-icc-yassl	2016-09-14 12:24:46 +0000
@@ -1,7 +1,8 @@
 #! /bin/sh
 
 # Copyright (C) 2005 MySQL AB
-# 
+# Use is subject to license terms
+#
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; version 2 of the License.
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-pentium-max'
--- BUILD/compile-pentium-max	2011-11-08 11:31:13 +0000
+++ BUILD/compile-pentium-max	2016-09-14 12:24:46 +0000
@@ -1,6 +1,7 @@
 #! /bin/sh
 
-# Copyright (C) 2001, 2005 MySQL AB
+# Copyright (c) 2001-2006 MySQL AB
+# Use is subject to license terms
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-pentium-myodbc'
--- BUILD/compile-pentium-myodbc	2011-11-08 11:31:13 +0000
+++ BUILD/compile-pentium-myodbc	2016-09-14 12:24:46 +0000
@@ -1,7 +1,8 @@
 #! /bin/sh
 
 # Copyright (C) 2000 MySQL AB
-# 
+# Use is subject to license terms
+#
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; version 2 of the License.
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-pentium-pgcc'
--- BUILD/compile-pentium-pgcc	2011-11-08 11:31:13 +0000
+++ BUILD/compile-pentium-pgcc	2016-09-14 12:24:46 +0000
@@ -1,6 +1,7 @@
 #! /bin/sh
 
-# Copyright (C) 2000, 2005 MySQL AB
+# Copyright (c) 2000, 2001, 2005, 2007 MySQL AB
+# Use is subject to license terms
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 AM_MAKEFLAGS="-j 2"
 gmake -k maintainer-clean || true

=== modified file 'BUILD/compile-pentium-valgrind-max-no-ndb'
--- BUILD/compile-pentium-valgrind-max-no-ndb	2011-11-08 11:31:13 +0000
+++ BUILD/compile-pentium-valgrind-max-no-ndb	2016-09-14 12:24:46 +0000
@@ -14,8 +14,8 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free
-# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-# MA 02111-1307, USA
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-pentium64'
--- BUILD/compile-pentium64	2011-11-08 11:31:13 +0000
+++ BUILD/compile-pentium64	2016-09-14 12:24:46 +0000
@@ -1,6 +1,7 @@
 #! /bin/sh
 
 # Copyright (C) 2006, 2007 MySQL AB
+# Use is subject to license terms
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Library General Public
@@ -14,8 +15,8 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free
-# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-# MA 02111-1307, USA
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-pentium64-gcov'
--- BUILD/compile-pentium64-gcov	2011-11-08 11:31:13 +0000
+++ BUILD/compile-pentium64-gcov	2016-09-14 12:24:46 +0000
@@ -1,6 +1,7 @@
 #! /bin/sh
 
 # Copyright (C) 2007 MySQL AB
+# Use is subject to license terms
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-pentium64-gprof'
--- BUILD/compile-pentium64-gprof	2011-11-08 11:31:13 +0000
+++ BUILD/compile-pentium64-gprof	2016-09-14 12:24:46 +0000
@@ -1,6 +1,7 @@
 #! /bin/sh
 
 # Copyright (C) 2007 MySQL AB
+# Use is subject to license terms
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-pentium64-max'
--- BUILD/compile-pentium64-max	2011-11-08 11:31:13 +0000
+++ BUILD/compile-pentium64-max	2016-09-14 12:24:46 +0000
@@ -1,6 +1,7 @@
 #! /bin/sh
 
 # Copyright (C) 2007 MySQL AB
+# Use is subject to license terms
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Library General Public
@@ -14,8 +15,8 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free
-# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-# MA 02111-1307, USA
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh" 

=== modified file 'BUILD/compile-pentium64-max-sci'
--- BUILD/compile-pentium64-max-sci	2011-11-08 11:31:13 +0000
+++ BUILD/compile-pentium64-max-sci	2016-09-14 12:24:46 +0000
@@ -1,7 +1,8 @@
 #! /bin/sh
 
 # Copyright (C) 2007 MySQL AB
-# 
+#  Use is subject to license terms
+#
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; version 2 of the License.
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-ppc'
--- BUILD/compile-ppc	2011-11-08 11:31:13 +0000
+++ BUILD/compile-ppc	2016-09-14 12:24:46 +0000
@@ -1,7 +1,8 @@
 #! /bin/sh
 
 # Copyright (C) 2004 MySQL AB
-# 
+#  Use is subject to license terms
+#
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; version 2 of the License.
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-ppc-debug'
--- BUILD/compile-ppc-debug	2011-11-08 11:31:13 +0000
+++ BUILD/compile-ppc-debug	2016-09-14 12:24:46 +0000
@@ -1,6 +1,7 @@
 #! /bin/sh
 
-# Copyright (C) 2004 MySQL AB
+# Copyright (c) 2004, 2006 MySQL AB
+# Use is subject to license terms
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-ppc-debug-max'
--- BUILD/compile-ppc-debug-max	2011-11-08 11:31:13 +0000
+++ BUILD/compile-ppc-debug-max	2016-09-14 12:24:46 +0000
@@ -1,6 +1,7 @@
 #! /bin/sh
 
-# Copyright (C) 2004, 2005 MySQL AB
+# Copyright (c) 2004-2006 MySQL AB
+# Use is subject to license terms
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-ppc-debug-max-no-ndb'
--- BUILD/compile-ppc-debug-max-no-ndb	2011-11-08 11:31:13 +0000
+++ BUILD/compile-ppc-debug-max-no-ndb	2016-09-14 12:24:46 +0000
@@ -1,6 +1,7 @@
 #! /bin/sh
 
-# Copyright (C) 2005 MySQL AB
+# Copyright (c) 2005, 2006 MySQL AB
+# Use is subject to license terms
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-ppc-max'
--- BUILD/compile-ppc-max	2011-11-08 11:31:13 +0000
+++ BUILD/compile-ppc-max	2016-09-14 12:24:46 +0000
@@ -1,6 +1,7 @@
 #! /bin/sh
 
-# Copyright (C) 2004, 2005 MySQL AB
+# Copyright (c) 2004-2006 MySQL AB
+# Use is subject to license terms
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-solaris-amd64'
--- BUILD/compile-solaris-amd64	2011-11-08 11:31:13 +0000
+++ BUILD/compile-solaris-amd64	2016-09-14 12:24:46 +0000
@@ -1,6 +1,7 @@
 #!/usr/bin/bash
 
 # Copyright (C) 2007 MySQL AB
+# Use is subject to license terms
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Library General Public
@@ -14,8 +15,8 @@
 #
 # You should have received a copy of the GNU Library General Public
 # License along with this library; if not, write to the Free
-# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-# MA 02111-1307, USA
+# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1301, USA
 
 function _find_mysql_root () (
     while [ "x$PWD" != "x/" ]; do

=== modified file 'BUILD/compile-solaris-amd64-debug'
--- BUILD/compile-solaris-amd64-debug	2011-11-08 11:31:13 +0000
+++ BUILD/compile-solaris-amd64-debug	2016-09-14 12:24:46 +0000
@@ -1,7 +1,8 @@
 #! /bin/sh
 
 # Copyright (C) 2007 MySQL AB
-# 
+#  Use is subject to license terms
+#
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; version 2 of the License.
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 path=`dirname $0`
 . "$path/SETUP.sh"

=== modified file 'BUILD/compile-solaris-sparc-debug'
--- BUILD/compile-solaris-sparc-debug	2011-11-08 11:31:13 +0000
+++ BUILD/compile-solaris-sparc-debug	2016-09-14 12:24:46 +0000
@@ -1,6 +1,7 @@
 #!/bin/sh
 
-# Copyright (C) 2001, 2005 MySQL AB
+# Copyright (c) 2001, 2002, 2005-2007 MySQL AB
+# Use is subject to license terms
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 make -k clean || true
 /bin/rm -f */.deps/*.P config.cache

=== modified file 'BUILD/compile-solaris-sparc-purify'
--- BUILD/compile-solaris-sparc-purify	2011-11-08 11:31:13 +0000
+++ BUILD/compile-solaris-sparc-purify	2016-09-14 12:24:46 +0000
@@ -1,6 +1,7 @@
 #! /bin/sh
 
-# Copyright (C) 2000, 2005 MySQL AB
+# Copyright (c) 2000-2002, 2005-2007 MySQL AB
+# Use is subject to license terms
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -13,7 +14,7 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
 
 mode=""
 cxxfilt=""

=== modified file 'CMakeLists.txt'
--- CMakeLists.txt	2012-03-29 22:25:05 +0000
+++ CMakeLists.txt	2016-09-14 12:24:46 +0000
@@ -1,4 +1,4 @@
-# Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved.
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -19,6 +19,26 @@
  CMAKE_POLICY(VERSION 2.8)
 endif()
 
+# We use PROPERTIES LINK_INTERFACE_LIBRARIES. See cmake --help-policy CMP0022
+IF(CMAKE_VERSION VERSION_EQUAL "2.8.12" OR
+   CMAKE_VERSION VERSION_GREATER "2.8.12")
+ CMAKE_POLICY(SET CMP0022 OLD)
+ENDIF()
+
+# We use the LOCATION target property (CMP0026)
+# and get_target_property() for non-existent targets (CMP0045)
+# and INSTALL_NAME_DIR (CMP0042)
+IF(CMAKE_VERSION VERSION_EQUAL "3.0.0" OR
+   CMAKE_VERSION VERSION_GREATER "3.0.0")
+ CMAKE_POLICY(SET CMP0026 OLD)
+ CMAKE_POLICY(SET CMP0045 OLD)
+ CMAKE_POLICY(SET CMP0042 OLD)
+ENDIF()
+
+MESSAGE(STATUS "Running cmake version ${CMAKE_VERSION}")
+
+# Will set GIT_EXECUTABLE and GIT_FOUND
+FIND_PACKAGE(Git)
 
 SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
 
@@ -58,11 +78,9 @@
 SET(BUILDTYPE_DOCSTRING
  "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or
  CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel")
- 
+
 IF(WITH_DEBUG)
   SET(CMAKE_BUILD_TYPE "Debug" CACHE STRING ${BUILDTYPE_DOCSTRING} FORCE)
-  SET(MYSQL_MAINTAINER_MODE ON CACHE BOOL
-      "MySQL maintainer-specific development environment")
   IF(UNIX AND NOT APPLE)
     # Compiling with PIC speeds up embedded build, on PIC sensitive systems 
     # Predefine it to ON, in case user chooses to build embedded. 
@@ -92,6 +110,15 @@
 ENDIF()
 PROJECT(${MYSQL_PROJECT_NAME})
 
+# Maintainer mode is default on only for Linux debug builds using GCC/G++
+IF(CMAKE_BUILD_TYPE MATCHES "Debug" OR WITH_DEBUG)
+  IF(CMAKE_SYSTEM_NAME MATCHES "Linux" AND
+     CMAKE_COMPILER_IS_GNUCC AND CMAKE_COMPILER_IS_GNUCXX)
+    SET(MYSQL_MAINTAINER_MODE ON CACHE BOOL
+        "MySQL maintainer-specific development environment")
+  ENDIF()
+ENDIF()
+
 IF(BUILD_CONFIG)
   INCLUDE(
   ${CMAKE_SOURCE_DIR}/cmake/build_configurations/${BUILD_CONFIG}.cmake)
@@ -115,38 +142,12 @@
 ENDFOREACH()
 
 
-
 # Following autotools tradition, add preprocessor definitions
 # specified in environment variable CPPFLAGS
 IF(DEFINED ENV{CPPFLAGS})
   ADD_DEFINITIONS($ENV{CPPFLAGS})
 ENDIF()
 
-#
-# Control aspects of the development environment which are
-# specific to MySQL maintainers and developers.
-#
-INCLUDE(maintainer)
-
-OPTION(MYSQL_MAINTAINER_MODE
-       "MySQL maintainer-specific development environment" OFF)
-
-# Whether the maintainer mode compiler options should be enabled.
-IF(MYSQL_MAINTAINER_MODE)
-  IF(CMAKE_C_COMPILER_ID MATCHES "GNU")
-    SET_MYSQL_MAINTAINER_GNU_C_OPTIONS()
-  ENDIF()
-  IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
-    SET_MYSQL_MAINTAINER_GNU_CXX_OPTIONS()
-  ENDIF()
-  IF(CMAKE_C_COMPILER_ID MATCHES "Intel")
-    SET_MYSQL_MAINTAINER_INTEL_C_OPTIONS()
-  ENDIF()
-  IF(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
-    SET_MYSQL_MAINTAINER_INTEL_CXX_OPTIONS()
-  ENDIF()
-ENDIF()
-
 # Add macros
 INCLUDE(character_sets)
 INCLUDE(zlib)
@@ -176,7 +177,82 @@
 OPTION (WITH_UNIT_TESTS "Compile MySQL with unit tests" ON)
 MARK_AS_ADVANCED(CYBOZU BACKUP_TEST WITHOUT_SERVER DISABLE_SHARED)
 
- 
+
+include(CheckCSourceCompiles)
+include(CheckCXXSourceCompiles)
+# We need some extra FAIL_REGEX patterns
+# Note that CHECK_C_SOURCE_COMPILES is a misnomer, it will also link.
+MACRO (MY_CHECK_C_COMPILER_FLAG FLAG RESULT)
+  SET(SAVE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
+  SET(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${FLAG}")
+  CHECK_C_SOURCE_COMPILES("int main(void) { return 0; }" ${RESULT}
+    FAIL_REGEX "argument unused during compilation"
+    FAIL_REGEX "unsupported .*option"
+    FAIL_REGEX "unknown .*option"
+    FAIL_REGEX "unrecognized .*option"
+    FAIL_REGEX "ignoring unknown option"
+    FAIL_REGEX "[Ww]arning: [Oo]ption"
+    )
+  SET(CMAKE_REQUIRED_FLAGS "${SAVE_CMAKE_REQUIRED_FLAGS}")
+ENDMACRO()
+
+MACRO (MY_CHECK_CXX_COMPILER_FLAG FLAG RESULT)
+  SET(SAVE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
+  SET(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${FLAG}")
+  CHECK_CXX_SOURCE_COMPILES("int main(void) { return 0; }" ${RESULT}
+    FAIL_REGEX "argument unused during compilation"
+    FAIL_REGEX "unsupported .*option"
+    FAIL_REGEX "unknown .*option"
+    FAIL_REGEX "unrecognized .*option"
+    FAIL_REGEX "ignoring unknown option"
+    FAIL_REGEX "[Ww]arning: [Oo]ption"
+    )
+  SET(CMAKE_REQUIRED_FLAGS "${SAVE_CMAKE_REQUIRED_FLAGS}")
+ENDMACRO()
+
+OPTION(WITH_ASAN "Enable address sanitizer" OFF)
+IF (WITH_ASAN)
+  # gcc 4.8.1 and new versions of clang
+  MY_CHECK_C_COMPILER_FLAG("-fsanitize=address" HAVE_C_FSANITIZE)
+  MY_CHECK_CXX_COMPILER_FLAG("-fsanitize=address" HAVE_CXX_FSANITIZE)
+
+  IF(HAVE_C_FSANITIZE AND HAVE_CXX_FSANITIZE)
+    # We switch on basic optimization also for debug builds.
+    # With optimization we may get some warnings, so we switch off -Werror
+    SET(CMAKE_C_FLAGS_DEBUG
+      "${CMAKE_C_FLAGS_DEBUG} -fsanitize=address -O1 -Wno-error -fPIC")
+    SET(CMAKE_C_FLAGS_RELWITHDEBINFO
+      "${CMAKE_C_FLAGS_RELWITHDEBINFO} -fsanitize=address -fPIC")
+    SET(CMAKE_CXX_FLAGS_DEBUG
+      "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=address -O1 -Wno-error -fPIC")
+    SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO
+      "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -fsanitize=address -fPIC")
+    SET(WITH_ASAN_OK 1)
+  ELSE()
+    # older versions of clang
+    MY_CHECK_C_COMPILER_FLAG("-faddress-sanitizer" HAVE_C_FADDRESS)
+    MY_CHECK_CXX_COMPILER_FLAG("-faddress-sanitizer" HAVE_CXX_FFADDRESS)
+
+    IF(HAVE_C_FADDRESS AND HAVE_CXX_FFADDRESS)
+      # We switch on basic optimization also for debug builds.
+      SET(CMAKE_C_FLAGS_DEBUG
+        "${CMAKE_C_FLAGS_DEBUG} -faddress-sanitizer -O1 -fPIC")
+      SET(CMAKE_C_FLAGS_RELWITHDEBINFO
+        "${CMAKE_C_FLAGS_RELWITHDEBINFO} -faddress-sanitizer -fPIC")
+      SET(CMAKE_CXX_FLAGS_DEBUG
+        "${CMAKE_CXX_FLAGS_DEBUG} -faddress-sanitizer -O1 -fPIC")
+      SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO
+        "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -faddress-sanitizer -fPIC")
+      SET(WITH_ASAN_OK 1)
+    ENDIF()
+  ENDIF()
+
+  IF(NOT WITH_ASAN_OK)
+    MESSAGE(FATAL_ERROR "Do not know how to enable address sanitizer")
+  ENDIF()
+ENDIF()
+
+
 OPTION(ENABLE_DEBUG_SYNC "Enable debug sync (debug builds only)" ON) 
 IF(ENABLE_DEBUG_SYNC) 
   SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DENABLED_DEBUG_SYNC") 
@@ -252,6 +328,23 @@
   SET(DEFAULT_SYSCONFDIR "${SYSCONFDIR}")
 ENDIF()
 
+IF(WIN32) # P_tmpdir is not defined on Windows as of VS2015.
+  SET(TMPDIR "" # So we use empty path as default. In practice TMP/TEMP is used
+    CACHE PATH
+    "PATH to MySQL TMP dir")
+ELSE()
+  SET(TMPDIR "P_tmpdir"
+    CACHE PATH
+    "PATH to MySQL TMP dir. Defaults to the P_tmpdir macro in <stdio.h>")
+ENDIF()
+
+IF(TMPDIR STREQUAL "P_tmpdir")
+  # Do not quote it, to refer to the P_tmpdir macro.
+  SET(DEFAULT_TMPDIR "P_tmpdir")
+ELSE()
+  # Quote it, to make it a const char string.
+  SET(DEFAULT_TMPDIR "\"${TMPDIR}\"")
+ENDIF()
 
 # Run platform tests
 INCLUDE(configure.cmake)
@@ -272,13 +365,13 @@
 # not run with the warning options as to not perturb fragile checks
 # (i.e. do not make warnings into errors).
 #
-IF(MYSQL_MAINTAINER_MODE)
-  # Set compiler flags required under maintainer mode.
-  MESSAGE(STATUS "C warning options: ${MY_MAINTAINER_C_WARNINGS}")
-  SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MY_MAINTAINER_C_WARNINGS}")
-  MESSAGE(STATUS "C++ warning options: ${MY_MAINTAINER_CXX_WARNINGS}")
-  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MY_MAINTAINER_CXX_WARNINGS}")
-ENDIF()
+# Why doesn't these flags affect the entire build?
+# Because things may already have been included with ADD_SUBDIRECTORY
+#
+OPTION(MYSQL_MAINTAINER_MODE
+       "MySQL maintainer-specific development environment" OFF)
+
+INCLUDE(maintainer)
 
 IF(NOT WITHOUT_SERVER)
 SET (MYSQLD_STATIC_PLUGIN_LIBS "" CACHE INTERNAL "")
@@ -294,13 +387,13 @@
 ADD_SUBDIRECTORY(mysys)
 ADD_SUBDIRECTORY(libmysql)
 
-
 IF(WITH_UNIT_TESTS)
  ENABLE_TESTING()
 ENDIF()
 IF(WITH_UNIT_TESTS)
   ADD_SUBDIRECTORY(unittest/mytap)
   ADD_SUBDIRECTORY(unittest/mysys)
+  ADD_SUBDIRECTORY(unittest/my_decimal)
 ENDIF()
 
 ADD_SUBDIRECTORY(extra)
@@ -324,6 +417,12 @@
   IF(UNIX)
     ADD_SUBDIRECTORY(man)
   ENDIF()
+  IF(EXISTS ${CMAKE_SOURCE_DIR}/internal/CMakeLists.txt)
+    ADD_SUBDIRECTORY(internal)
+  ENDIF()
+  ADD_SUBDIRECTORY(packaging/rpm-oel)
+  ADD_SUBDIRECTORY(packaging/rpm-sles)
+  ADD_SUBDIRECTORY(packaging/rpm-docker)
 ENDIF()
 
 INCLUDE(cmake/abi_check.cmake)
@@ -336,13 +435,14 @@
 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/sql/sql_builtin.cc.in
     ${CMAKE_BINARY_DIR}/sql/sql_builtin.cc)
 CONFIGURE_FILE(
-    ${CMAKE_SOURCE_DIR}/cmake/info_macros.cmake.in ${CMAKE_BINARY_DIR}/info_macros.cmake @ONLY)
+    ${CMAKE_SOURCE_DIR}/cmake/info_macros.cmake.in
+    ${CMAKE_BINARY_DIR}/info_macros.cmake @ONLY)
 
 # Handle the "INFO_*" files.
 INCLUDE(${CMAKE_BINARY_DIR}/info_macros.cmake)
 # Source: This can be done during the cmake phase, all information is
 # available, but should be repeated on each "make" just in case someone
-# does "cmake ; make ; bzr pull ; make".
+# does "cmake ; make ; git pull ; make".
 CREATE_INFO_SRC(${CMAKE_BINARY_DIR}/Docs)
 ADD_CUSTOM_TARGET(INFO_SRC ALL
   COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/cmake/info_src.cmake
@@ -361,12 +461,12 @@
   SET(CPACK_GENERATOR "TGZ")
 ENDIF() 
 ADD_SUBDIRECTORY(packaging/WiX)
+ADD_SUBDIRECTORY(packaging/solaris)
 
 # Create a single package with "make package"
 # (see http://public.kitware.com/Bug/view.php?id=11452)
 SET(CPACK_MONOLITHIC_INSTALL 1 CACHE INTERNAL "")
 
-INCLUDE(CPack)
 IF(UNIX)
   INSTALL(FILES Docs/mysql.info DESTINATION ${INSTALL_INFODIR} OPTIONAL COMPONENT Info)
 ENDIF()
@@ -398,3 +498,39 @@
     PATTERN "sp-imp-spec.txt" EXCLUDE
   )
 ENDIF()
+
+INCLUDE(CPack)
+
+# C compiler flags consist of:
+# CPPFLAGS        Taken from environment, see above.
+# ADD_DEFINITIONS In each individual CMakeLists.txt
+# CMAKE_C_FLAGS   From command line.
+#                 We extend these in maintainer.cmake
+# ENV{CFLAGS}     From environment, but environment is ignored if
+#                 CMAKE_C_FLAGS is also given on command line
+# CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE}
+#                 We extend these in compiler_options.cmake
+#
+# Note that CMakeCache.txt contains cmake builtins for these variables,
+# *not* the values that will actually be used:
+
+IF(CMAKE_GENERATOR MATCHES "Makefiles")
+  MESSAGE(STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
+ENDIF()
+GET_PROPERTY(cwd_definitions DIRECTORY PROPERTY COMPILE_DEFINITIONS)
+MESSAGE(STATUS "COMPILE_DEFINITIONS: ${cwd_definitions}")
+MESSAGE(STATUS "CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}")
+MESSAGE(STATUS "CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}")
+IF(CMAKE_BUILD_TYPE AND CMAKE_GENERATOR MATCHES "Makefiles")
+  STRING(TOUPPER "${CMAKE_BUILD_TYPE}" CMAKEBT)
+  MESSAGE(STATUS "CMAKE_C_FLAGS_${CMAKEBT}: ${CMAKE_C_FLAGS_${CMAKEBT}}")
+  MESSAGE(STATUS "CMAKE_CXX_FLAGS_${CMAKEBT}: ${CMAKE_CXX_FLAGS_${CMAKEBT}}")
+ENDIF()
+IF(NOT CMAKE_GENERATOR MATCHES "Makefiles")
+  MESSAGE(STATUS "CMAKE_C_FLAGS_DEBUG: ${CMAKE_C_FLAGS_DEBUG}")
+  MESSAGE(STATUS "CMAKE_CXX_FLAGS_DEBUG: ${CMAKE_CXX_FLAGS_DEBUG}")
+  MESSAGE(STATUS
+    "CMAKE_C_FLAGS_RELWITHDEBINFO: ${CMAKE_C_FLAGS_RELWITHDEBINFO}")
+  MESSAGE(STATUS
+    "CMAKE_CXX_FLAGS_RELWITHDEBINFO: ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
+ENDIF()

=== modified file 'Docs/ChangeLog'
--- Docs/ChangeLog	2012-03-29 22:25:05 +0000
+++ Docs/ChangeLog	2016-09-14 12:24:46 +0000
@@ -1,1549 +1,311 @@
-------------------------------------------------------------
-revno: 3286 [merge]
-committer: Joerg Bruehe <joerg.bruehe@oracle.com>
-branch nick: clone-5.5
-timestamp: Fri 2012-03-02 13:23:52 +0100
-message:
-  Further upmerge the yaSSL upgrade (to 2.2.0) from MySQL 5.1 to 5.5.
-  
-  Also, take a syntax fix (C++ style comment in C file) in client/mysqldump.c.
-    ------------------------------------------------------------
-    revno: 2661.768.65 [merge]
-    committer: Joerg Bruehe <joerg.bruehe@oracle.com>
-    branch nick: clone-5.1
-    timestamp: Fri 2012-03-02 13:18:12 +0100
-    message:
-      Upmerge the yaSSL upgrade (to 2.2.0) from MySQL 5.0 to 5.1.
-        ------------------------------------------------------------
-        revno: 1810.4000.45
-        committer: Joerg Bruehe <joerg.bruehe@oracle.com>
-        branch nick: clone-5.0
-        timestamp: Fri 2012-03-02 13:12:07 +0100
-        message:
-          Further upgrade the yaSSL library to version 2.2.0
-          to pick up some new security fixes that are in it.
-          
-          Patch provided by Georgi Kodinov.
-    ------------------------------------------------------------
-    revno: 2661.768.64
-    committer: Karen Langford <karen.langford@oracle.com>
-    branch nick: mysql-5.1.62-release
-    timestamp: Tue 2012-02-28 17:20:30 +0100
-    message:
-      AIX builds fail for comments using //
-------------------------------------------------------------
-revno: 3285
-committer: Hery Ramilison <hery.ramilison@oracle.com>
-branch nick: mysql-5.5.22-release
-timestamp: Thu 2012-03-01 01:05:05 +0100
-message:
-  fix for the windows platform for bug: 13788143
-------------------------------------------------------------
-revno: 3284 [merge]
-committer: Joerg Bruehe <joerg.bruehe@oracle.com>
-branch nick: clone-5.5
-timestamp: Tue 2012-02-28 12:50:23 +0100
-message:
-  Upmerge the copyright year change, from 5.1 to 5.5.
-    ------------------------------------------------------------
-    revno: 2661.768.63 [merge]
-    committer: Joerg Bruehe <joerg.bruehe@oracle.com>
-    branch nick: clone-5.1
-    timestamp: Tue 2012-02-28 12:44:21 +0100
-    message:
-      Upmerge the copyright year change, from 5.0 to 5.1.
-        ------------------------------------------------------------
-        revno: 1810.4000.44
-        committer: Joerg Bruehe <joerg.bruehe@oracle.com>
-        branch nick: clone-5.0
-        timestamp: Tue 2012-02-28 12:42:02 +0100
-        message:
-          The current year is 2012, and nobody noticed ...
-          Update the year in the copyright notice, file "README".
-------------------------------------------------------------
-revno: 3283
-tags: clone-5.5.22-build
-committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-branch nick: merge-5.5-security
-timestamp: Sun 2012-02-19 09:33:55 +0200
-message:
-  addendum to the --builtin-innodb depreacation bug. Fixing test suite output.
-------------------------------------------------------------
-revno: 3282
-committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-branch nick: merge-5.5-security
-timestamp: Sat 2012-02-18 11:10:42 +0200
-message:
-  Addendum to BUG#13586262 : fixed a wrong test suite output
-------------------------------------------------------------
-revno: 3281 [merge]
-committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-branch nick: merge-5.5-security
-timestamp: Sat 2012-02-18 11:03:11 +0200
-message:
-  empty weave merge mysql-5.1-security->mysql-5.5-security
-    ------------------------------------------------------------
-    revno: 2661.768.62 [merge]
-    tags: clone-5.1.62-build
-    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-    branch nick: merge-5.1-security
-    timestamp: Sat 2012-02-18 10:58:19 +0200
-    message:
-      merge mysql-5.1->mysql-5.1-security
-------------------------------------------------------------
-revno: 3280 [merge]
-committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-branch nick: merge-5.5-security
-timestamp: Sat 2012-02-18 10:58:31 +0200
-message:
-  merge mysql-5.5->mysql-5.5-security
-    ------------------------------------------------------------
-    revno: 3097.126.2 [merge]
-    committer: kevin.lewis@oracle.com
-    branch nick: mysql-5.5
-    timestamp: Fri 2012-02-17 08:28:28 -0600
-    message:
-      Merge with mysql-5.5
-        ------------------------------------------------------------
-        revno: 3097.116.140
-        committer: Vasil Dimov <vasil.dimov@oracle.com>
-        branch nick: mysql-5.5
-        timestamp: Fri 2012-02-17 15:09:47 +0200
-        message:
-          Print a deprecation warning when ignore-builtin-innodb is used
-          
-          This is part of
-          Bug#13586262 INNODB - HIBISCUS: ISSUE DEPRECATION WARNINGS FOR VARIABLES
-          
-          Reviewed by:	Mark Alff
-        ------------------------------------------------------------
-        revno: 3097.116.139 [merge]
-        committer: Marko M?kel? <marko.makela@oracle.com>
-        branch nick: mysql-5.5
-        timestamp: Fri 2012-02-17 11:52:51 +0200
-        message:
-          Merge mysql-5.1 to mysql-5.5.
-            ------------------------------------------------------------
-            revno: 2661.800.21
-            committer: Marko M?kel? <marko.makela@oracle.com>
-            branch nick: mysql-5.1
-            timestamp: Fri 2012-02-17 11:42:04 +0200
-            message:
-              Bug#13721257 RACE CONDITION IN UPDATES OR INSERTS OF WIDE RECORDS
-              
-              This bug was originally filed and fixed as Bug#12612184. The original
-              fix was buggy, and it was patched by Bug#12704861. Also that patch was
-              buggy (potentially breaking crash recovery), and both fixes were
-              reverted.
-              
-              This fix was not ported to the built-in InnoDB of MySQL 5.1, because
-              the function signatures of many core functions are different from
-              InnoDB Plugin and later versions. The block allocation routines and
-              their callers would have to changed so that they handle block
-              descriptors instead of page frames.
-              
-              When a record is updated so that its size grows, non-updated columns
-              can be selected for external (off-page) storage. The bug is that the
-              initially inserted updated record contains an all-zero BLOB pointer to
-              the field that was not updated. Only after the BLOB pages have been
-              allocated and written, the valid pointer can be written to the record.
-              
-              Between the release of the page latch in mtr_commit(mtr) after
-              btr_cur_pessimistic_update() and the re-latching of the page in
-              btr_pcur_restore_position(), other threads can see the invalid BLOB
-              pointer consisting of 20 zero bytes. Moreover, if the system crashes
-              at this point, the situation could persist after crash recovery, and
-              the contents of the non-updated column would be permanently lost.
-              
-              The problem is amplified by the ROW_FORMAT=DYNAMIC and
-              ROW_FORMAT=COMPRESSED that were introduced in
-              innodb_file_format=barracuda in InnoDB Plugin, but the bug does exist
-              in all InnoDB versions.
-              
-              The fix is as follows. After a pessimistic B-tree operation that needs
-              to write out off-page columns, allocate the pages for these columns in
-              the mini-transaction that performed the B-tree operation (btr_mtr),
-              but write the pages in a separate mini-transaction (blob_mtr). Do
-              mtr_commit(blob_mtr) before mtr_commit(btr_mtr). A quirk: Do not reuse
-              pages that were previously freed in btr_mtr. Only write the off-page
-              columns to 'fresh' pages.
-              
-              In this way, crash recovery will see redo log entries for blob_mtr
-              before any redo log entry for btr_mtr. It will apply the BLOB page
-              writes to pages that were marked free at that point. If crash recovery
-              fails to see all of the btr_mtr redo log, there will be some
-              unreachable BLOB data in free pages, but the B-tree will be in a
-              consistent state.
-              
-              btr_page_alloc_low(): Renamed from btr_page_alloc(). Add the parameter
-              init_mtr. Return an allocated block, or NULL. If init_mtr!=mtr but
-              the page was already X-latched in mtr, do not initialize the page.
-              
-              btr_page_alloc(): Wrapper for btr_page_alloc_for_ibuf() and
-              btr_page_alloc_low().
-              
-              btr_page_free(): Add a debug assertion that the page was a B-tree page.
-              
-              btr_lift_page_up(): Return the father block.
-              
-              btr_compress(), btr_cur_compress_if_useful(): Add the parameter ibool
-              adjust, for adjusting the cursor position.
-              
-              btr_cur_pessimistic_update(): Preserve the cursor position when
-              big_rec will be written and the new flag BTR_KEEP_POS_FLAG is defined.
-              Remove a duplicate rec_get_offsets() call. Keep the X-latch on
-              index->lock when big_rec is needed.
-              
-              btr_store_big_rec_extern_fields(): Replace update_inplace with
-              an operation code, and local_mtr with btr_mtr. When not doing a
-              fresh insert and btr_mtr has freed pages, put aside any pages that
-              were previously X-latched in btr_mtr, and free the pages after
-              writing out all data. The data must be written to 'fresh' pages,
-              because btr_mtr will be committed and written to the redo log after
-              the BLOB writes have been written to the redo log.
-              
-              btr_blob_op_is_update(): Check if an operation passed to
-              btr_store_big_rec_extern_fields() is an update or insert-by-update.
-              
-              fseg_alloc_free_page_low(), fsp_alloc_free_page(),
-              fseg_alloc_free_extent(), fseg_alloc_free_page_general(): Add the
-              parameter init_mtr. Return an allocated block, or NULL. If
-              init_mtr!=mtr but the page was already X-latched in mtr, do not
-              initialize the page.
-              
-              xdes_get_descriptor_with_space_hdr(): Assert that the file space
-              header is being X-latched.
-              
-              fsp_alloc_from_free_frag(): Refactored from fsp_alloc_free_page().
-              
-              fsp_page_create(): New function, for allocating, X-latching and
-              potentially initializing a page. If init_mtr!=mtr but the page was
-              already X-latched in mtr, do not initialize the page.
-              
-              fsp_free_page(): Add ut_ad(0) to the error outcomes.
-              
-              fsp_free_page(), fseg_free_page_low(): Increment mtr->n_freed_pages.
-              
-              fsp_alloc_seg_inode_page(), fseg_create_general(): Assert that the
-              page was not previously X-latched in the mini-transaction. A file
-              segment or inode page should never be allocated in the middle of an
-              mini-transaction that frees pages, such as btr_cur_pessimistic_delete().
-              
-              fseg_alloc_free_page_low(): If the hinted page was allocated, skip the
-              check if the tablespace should be extended. Return NULL instead of
-              FIL_NULL on failure. Remove the flag frag_page_allocated. Instead,
-              return directly, because the page would already have been initialized.
-              
-              fseg_find_free_frag_page_slot() would return ULINT_UNDEFINED on error,
-              not FIL_NULL. Correct a bogus assertion.
-              
-              fseg_alloc_free_page(): Redefine as a wrapper macro around
-              fseg_alloc_free_page_general().
-              
-              buf_block_buf_fix_inc(): Move the definition from the buf0buf.ic to
-              buf0buf.h, so that it can be called from other modules.
-              
-              mtr_t: Add n_freed_pages (number of pages that have been freed).
-              
-              page_rec_get_nth_const(), page_rec_get_nth(): The inverse function of
-              page_rec_get_n_recs_before(), get the nth record of the record
-              list. This is faster than iterating the linked list. Refactored from
-              page_get_middle_rec().
-              
-              trx_undo_rec_copy(): Add a debug assertion for the length.
-              
-              trx_undo_add_page(): Return a block descriptor or NULL instead of a
-              page number or FIL_NULL.
-              
-              trx_undo_report_row_operation(): Add debug assertions.
-              
-              trx_sys_create_doublewrite_buf(): Assert that each page was not
-              previously X-latched.
-              
-              page_cur_insert_rec_zip_reorg(): Make use of page_rec_get_nth().
-              
-              row_ins_clust_index_entry_by_modify(): Pass BTR_KEEP_POS_FLAG, so that
-              the repositioning of the cursor can be avoided.
-              
-              row_ins_index_entry_low(): Add DEBUG_SYNC points before and after
-              writing off-page columns. If inserting by updating a delete-marked
-              record, do not reposition the cursor or commit the mini-transaction
-              before writing the off-page columns.
-              
-              row_build(): Tighten a debug assertion about null BLOB pointers.
-              
-              row_upd_clust_rec(): Add DEBUG_SYNC points before and after writing
-              off-page columns. Do not reposition the cursor or commit the
-              mini-transaction before writing the off-page columns.
-              
-              rb:939 approved by Jimmy Yang
-    ------------------------------------------------------------
-    revno: 3097.126.1
-    committer: kevin.lewis@oracle.com
-    branch nick: mysql-5.5
-    timestamp: Thu 2012-02-16 12:13:08 -0600
-    message:
-      Bug#64160, Oracle Bug#13698765
-      
-      The problem was introduced in 5.5.20 by Bug 13116225.  It tried to
-      protect against downgrading from a version 5.6.4 database that was
-      created with a page size other than 16k.  Version 5.6.4 supports
-      page sizes 4k and 8k and stamps that page size into the header page
-      of each tablespace file.  Version 5.5.20 attempts to read that page
-      size in the file header.
-      
-      But it turns out that only the first system tablespace file has a
-      reliable flags field in the header. So only ibdata1 can be or needs
-      to be tested for another page size. Extra system tablespace files
-      like ibdata2, ibdata3, etc do not and should not be tested since the
-      flags field is unreliable.
-------------------------------------------------------------
-revno: 3279 [merge]
-committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-branch nick: merge-5.5-security
-timestamp: Fri 2012-02-17 11:57:45 +0200
-message:
-  merge mysql-5.1-security->mysql-5.5-security
-    ------------------------------------------------------------
-    revno: 2661.768.61 [merge]
-    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-    branch nick: merge-5.1-security
-    timestamp: Fri 2012-02-17 11:55:06 +0200
-    message:
-      merge mysql-5.0-security->mysql-5.1-security
-        ------------------------------------------------------------
-        revno: 1810.4000.43 [merge]
-        tags: clone-5.0.96-build
-        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-        branch nick: merge-5.0-security
-        timestamp: Fri 2012-02-17 11:51:14 +0200
-        message:
-          merged mysql-5.0->mysql-5.0-security
-    ------------------------------------------------------------
-    revno: 2661.768.60 [merge]
-    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-    branch nick: merge-5.1-security
-    timestamp: Fri 2012-02-17 11:52:41 +0200
-    message:
-      merge mysql-5.1->mysql-5.1-security
-------------------------------------------------------------
-revno: 3278 [merge]
-committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-branch nick: merge-5.5-security
-timestamp: Fri 2012-02-17 11:55:36 +0200
-message:
-  merged mysql-5.5->mysql-5.5-security
-    ------------------------------------------------------------
-    revno: 3097.116.138
-    committer: Marko M?kel? <marko.makela@oracle.com>
-    branch nick: mysql-5.5
-    timestamp: Fri 2012-02-17 09:18:53 +0200
-    message:
-      Put back a fix that was reverted when reverting the buggy Bug#12612184 fix in
-      revision-id inaam.rana@oracle.com-20110930110219-vnpaqghj9hm0grds
-      (revno 3559).
-    ------------------------------------------------------------
-    revno: 3097.116.137 [merge]
-    committer: Marko M?kel? <marko.makela@oracle.com>
-    branch nick: mysql-5.5
-    timestamp: Thu 2012-02-16 15:56:10 +0200
-    message:
-      Null merge a fix from mysql-5.1.
-        ------------------------------------------------------------
-        revno: 2661.800.20
-        committer: Marko M?kel? <marko.makela@oracle.com>
-        branch nick: mysql-5.1
-        timestamp: Thu 2012-02-16 15:54:16 +0200
-        message:
-          Fix link error on Windows.
-          error LNK2001: unresolved external symbol _debug_sync_C_callback_ptr
-    ------------------------------------------------------------
-    revno: 3097.116.136 [merge]
-    committer: Kent Boortz <kent.boortz@oracle.com>
-    branch nick: mysql-5.5
-    timestamp: Thu 2012-02-16 12:06:34 +0100
-    message:
-      Merge
-        ------------------------------------------------------------
-        revno: 2661.800.19 [merge]
-        committer: Kent Boortz <kent.boortz@oracle.com>
-        branch nick: mysql-5.1
-        timestamp: Thu 2012-02-16 12:02:53 +0100
-        message:
-          Merge
-    ------------------------------------------------------------
-    revno: 3097.116.135 [merge]
-    committer: Kent Boortz <kent.boortz@oracle.com>
-    branch nick: mysql-5.5
-    timestamp: Thu 2012-02-16 12:04:44 +0100
-    message:
-      Merge
-        ------------------------------------------------------------
-        revno: 3097.125.3 [merge]
-        committer: Marko M?kel? <marko.makela@oracle.com>
-        branch nick: mysql-5.5
-        timestamp: Thu 2012-02-16 12:28:49 +0200
-        message:
-          Merge mysql-5.1 to mysql-5.5.
-            ------------------------------------------------------------
-            revno: 2661.804.4
-            committer: Marko M?kel? <marko.makela@oracle.com>
-            branch nick: mysql-5.1
-            timestamp: Thu 2012-02-16 12:24:11 +0200
-            message:
-              Add instrumentation for Bug#13721257 RACE CONDITION IN UPDATES OR INSERTS
-              OF WIDE RECORDS
-              
-              row_ins_index_entry_low(), row_upd_clust_rec(): Make a redo log
-              checkpoint if a DEBUG flag is set. Add DEBUG_SYNC around
-              btr_store_big_rec_extern_fields().
-              
-              rb:946 approved by Jimmy Yang
-            ------------------------------------------------------------
-            revno: 2661.804.3
-            committer: Marko M?kel? <marko.makela@oracle.com>
-            branch nick: mysql-5.1
-            timestamp: Thu 2012-02-16 12:20:41 +0200
-            message:
-              Correct a few copyright messages.
-    ------------------------------------------------------------
-    revno: 3097.116.134 [merge]
-    committer: MySQL Build Team<mysql-build@oss.oracle.com>
-    branch nick: mysql-5.5
-    timestamp: Thu 2012-02-16 11:44:10 +0100
-    message:
-      Updated/added copyright headers
-        ------------------------------------------------------------
-        revno: 2661.800.18
-        committer: MySQL Build Team<mysql-build@oss.oracle.com>
-        branch nick: mysql-5.1
-        timestamp: Thu 2012-02-16 11:35:30 +0100
-        message:
-          Updated/added copyright headers
-    ------------------------------------------------------------
-    revno: 3097.116.133 [merge]
-    committer: Kent Boortz <kent.boortz@oracle.com>
-    branch nick: mysql-5.5
-    timestamp: Thu 2012-02-16 11:43:05 +0100
-    message:
-      Merge
-        ------------------------------------------------------------
-        revno: 2661.800.17 [merge]
-        committer: Kent Boortz <kent.boortz@oracle.com>
-        branch nick: mysql-5.1
-        timestamp: Thu 2012-02-16 11:17:04 +0100
-        message:
-          Merge
-    ------------------------------------------------------------
-    revno: 3097.116.132 [merge]
-    committer: Kent Boortz <kent.boortz@oracle.com>
-    branch nick: mysql-5.5
-    timestamp: Thu 2012-02-16 11:19:19 +0100
-    message:
-      Merge
-        ------------------------------------------------------------
-        revno: 3097.125.2 [merge]
-        committer: Marko M?kel? <marko.makela@oracle.com>
-        branch nick: mysql-5.5
-        timestamp: Wed 2012-02-15 16:37:06 +0200
-        message:
-          Merge mysql-5.1 to mysql-5.5.
-            ------------------------------------------------------------
-            revno: 2661.804.2
-            committer: Marko M?kel? <marko.makela@oracle.com>
-            branch nick: mysql-5.1
-            timestamp: Wed 2012-02-15 16:28:00 +0200
-            message:
-              Remove a race condition in innodb_bug53756.test.
-              Before killing the server, tell mysql-test-run that it is to be expected.
-              
-              Discussed with Bjorn Munch on IM.
-        ------------------------------------------------------------
-        revno: 3097.125.1 [merge]
-        committer: Marko M?kel? <marko.makela@oracle.com>
-        branch nick: mysql-5.5
-        timestamp: Wed 2012-02-15 15:55:31 +0200
-        message:
-          Merge mysql-5.1 to mysql-5.5.
-            ------------------------------------------------------------
-            revno: 2661.804.1
-            committer: Marko M?kel? <marko.makela@oracle.com>
-            branch nick: mysql-5.1
-            timestamp: Wed 2012-02-15 15:53:29 +0200
-            message:
-              store_create_info(): Fix a compiler warning about unused variable.
-    ------------------------------------------------------------
-    revno: 3097.116.131 [merge]
-    committer: MySQL Build Team<mysql-build@oss.oracle.com>
-    branch nick: mysql-5.5
-    timestamp: Thu 2012-02-16 10:48:16 +0100
-    message:
-      Updated/added copyright headers
-        ------------------------------------------------------------
-        revno: 2661.800.16 [merge]
-        committer: Kent Boortz <kent.boortz@oracle.com>
-        branch nick: mysql-5.1
-        timestamp: Wed 2012-02-15 17:21:38 +0100
-        message:
-          Updated/added copyright headers
-            ------------------------------------------------------------
-            revno: 1810.4004.10
-            committer: MySQL Build Team<mysql-build@oss.oracle.com>
-            branch nick: mysql-5.0
-            timestamp: Wed 2012-02-15 17:13:47 +0100
-            message:
-              Updated/added copyright headers
-    ------------------------------------------------------------
-    revno: 3097.116.130
-    committer: Rohit Kalhans <rohit.kalhans@oracle.com>
-    branch nick: mysql-5.5_bug11758263
-    timestamp: Mon 2012-02-13 15:37:50 +0530
-    message:
-      fixing test failure on pb2.
-    ------------------------------------------------------------
-    revno: 3097.116.129
-    committer: Rohit Kalhans <rohit.kalhans@oracle.com>
-    branch nick: mysql-5.5_bug11758263
-    timestamp: Mon 2012-02-13 14:12:13 +0530
-    message:
-      BUG#11758263: Modification of indentation in the added code.
-                    Fixed a typo in the comment.
-                    Fixing test cases which were previouslyno throwing  due
-                    disable warnings macro. 
-    ------------------------------------------------------------
-    revno: 3097.116.128 [merge]
-    committer: Sunny Bains <Sunny.Bains@Oracle.Com>
-    branch nick: 5.5
-    timestamp: Fri 2012-02-10 14:11:49 +1100
-    message:
-      Merge from mysql-5.1.
-        ------------------------------------------------------------
-        revno: 2661.800.15
-        committer: Sunny Bains <Sunny.Bains@Oracle.Com>
-        branch nick: 5.1
-        timestamp: Fri 2012-02-10 14:09:12 +1100
-        message:
-          BUG#12739098 - 62401: ASSERTION TRX->ERROR_STATE == DB_SUCCESS, QUE0QUE.C LINE 1264 ON TRUNCATE 
-                      
-          During FIC error handling the trx->error_state was not being set to DB_SUCCESS
-          after failure, before attempting the next DDL SQL operation. This reset to
-          DB_SUCCESS is somewhat of a requirement though not explicitly stated anywhere.
-          The fix is to reset it to DB_SUCCESS in row0merge.cc if row_merge_rename_indexes
-          or row_merge_drop_index functions fail, also reset to DB_SUCCESS at trx commit.
-          				          
-          rb://935 Approved by Jimmy Yang.
-    ------------------------------------------------------------
-    revno: 3097.116.127 [merge]
-    committer: Sunny Bains <Sunny.Bains@Oracle.Com>
-    branch nick: 5.5
-    timestamp: Fri 2012-02-10 13:04:10 +1100
-    message:
-      Merge from mysql-5.1-innodb.
-        ------------------------------------------------------------
-        revno: 2661.523.386
-        committer: Sunny Bains <Sunny.Bains@Oracle.Com>
-        branch nick: 5.1
-        timestamp: Fri 2012-02-10 12:47:42 +1100
-        message:
-          BUG#12739098 - 62401: ASSERTION TRX->ERROR_STATE == DB_SUCCESS, QUE0QUE.C LINE 1264 ON TRUNCATE 
-          
-          During FIC error handling the trx->error_state was not being set to DB_SUCCESS
-          after failure, before attempting the next DDL SQL operation. This reset to
-          DB_SUCCESS is somewhat of a requirement though not explicitly stated anywhere.
-          The fix is to reset it to DB_SUCCESS in row0merge.cc if row_merge_rename_indexes
-          or row_merge_drop_index functions fail, also reset to DB_SUCCESS at trx commit.
-          
-          rb://935 Approved by Jimmy Yang.
-    ------------------------------------------------------------
-    revno: 3097.116.126
-    committer: Rohit Kalhans <rohit.kalhans@oracle.com>
-    branch nick: mysql-5.5_b11758263
-    timestamp: Fri 2012-02-10 01:43:47 +0530
-    message:
-      Followup  patch for bug#11758263.
-    ------------------------------------------------------------
-    revno: 3097.116.125
-    committer: Rohit Kalhans <rohit.kalhans@oracle.com>
-    branch nick: mysql-5.5_b11758263
-    timestamp: Thu 2012-02-09 23:28:33 +0530
-    message:
-      BUG#11758263 50440: MARK UNORDERED UPDATE WITH AUTOINC UNSAFE
-             
-      Problem: Statements that write to tables with auto_increment columns
-               based on the selection from another table, may lead to master
-               and slave going out of sync, as the order in which the rows
-               are retrieved from the table may differ on master and slave.
-                  
-      Solution: We mark writing to a table with auto_increment table
-                based on the rows selected from another table as unsafe. This
-                will cause the execution of such statements to throw a warning
-                and forces the statement to be logged in ROW if the logging
-                format is mixed. 
-                  
-      Changes:
-             1. All the statements that writes to a table with auto_increment 
-                column(s) based on the rows fetched from another table, will now
-                be unsafe.
-             2. CREATE TABLE with SELECT will now be unsafe.
-    ------------------------------------------------------------
-    revno: 3097.116.124
-    committer: Rohit Kalhans <rohit.kalhans@oracle.com>
-    branch nick: mysql_5.5_rollback
-    timestamp: Wed 2012-02-08 12:10:55 +0530
-    message:
-      Backout the patch for bug#11758263.
-    ------------------------------------------------------------
-    revno: 3097.116.123
-    committer: Rohit Kalhans <rohit.kalhans@oracle.com>
-    branch nick: mysql-5.5_bug11758263
-    timestamp: Wed 2012-02-08 00:33:08 +0530
-    message:
-      BUG#11758263 50440: MARK UNORDERED UPDATE WITH AUTOINC UNSAFE
-            
-            Problem: Statements that write to tables with auto_increment columns
-            based on the selection from another table, may lead to master
-            and slave going out of sync, as the order in which the rows
-            are retrived from the table may differ on master and slave.
-            
-            Solution: We mark writing to a table with auto_increment table
-            as unsafe. This will cause the execution of such statements to
-            throw a warning and forces the statement to be logged in ROW if
-            the logging format is mixed. 
-            
-            Changes: 
-            1. All the statements that writes to a table with auto_increment 
-            column(s) based on the rows fetched from another table, will now
-            be unsafe.
-            2. CREATE TABLE with SELECT will now be unsafe.
-------------------------------------------------------------
-revno: 3277 [merge]
-committer: Joerg Bruehe <joerg.bruehe@oracle.com>
-branch nick: security-5.5
-timestamp: Thu 2012-02-16 16:03:43 +0100
-message:
-  Upmerge the AIX compile fix into 5.5.
-    ------------------------------------------------------------
-    revno: 2661.768.59 [merge]
-    committer: Joerg Bruehe <joerg.bruehe@oracle.com>
-    branch nick: security-5.1
-    timestamp: Thu 2012-02-16 15:55:53 +0100
-    message:
-      Merge compile fix for AIX into delivery tree.
-        ------------------------------------------------------------
-        revno: 2661.803.1
-        committer: Joerg Bruehe <joerg.bruehe@oracle.com>
-        branch nick: bzero-5.1
-        timestamp: Thu 2012-01-19 17:05:47 +0100
-        message:
-          Compile fix needed for AIX,
-          to work around the lack of a bzero() prototype.
-------------------------------------------------------------
-revno: 3276
-committer: Tor Didriksen <tor.didriksen@oracle.com>
-branch nick: 5.5-security
-timestamp: Tue 2012-02-14 08:11:28 +0100
-message:
-  Bug#13633383 63183: SMALL SORT_BUFFER_SIZE CRASH IN MERGE_BUFFERS
-  
-  This patch is a backport of some of the cleanups/refactorings that were done
-  as part of WL#1393 Optimizing filesort with small limit.
-------------------------------------------------------------
-revno: 3275 [merge]
-committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-branch nick: B13706828-5.5-security
-timestamp: Mon 2012-02-13 14:44:54 +0200
-message:
-  merge mysql-5.1-security->mysql-5.5-security
-    ------------------------------------------------------------
-    revno: 2661.768.58 [merge]
-    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-    branch nick: B13706828-5.1-security
-    timestamp: Mon 2012-02-13 13:40:12 +0200
-    message:
-      merge from 5.0-security
-        ------------------------------------------------------------
-        revno: 1810.4000.42
-        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-        branch nick: B13706828-5.0-security
-        timestamp: Fri 2012-02-10 16:33:27 +0200
-        message:
-          Bug #13706828: UPGRADE YASSL FROM 1.7.2 TO 2.1.4
-          
-          $SUBJ$
-          1. Took a diff between the previous base version and the
-          mysql sources.
-          2. Added the new 2.1.4 base version.
-          3. Reviewed and re-applied the diff from step #1.
-------------------------------------------------------------
-revno: 3274 [merge]
-committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-branch nick: upgrade-yassl-5.5-security
-timestamp: Fri 2012-02-10 11:51:33 +0200
-message:
-  merge
-    ------------------------------------------------------------
-    revno: 2661.768.57 [merge]
-    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-    branch nick: upgrade-yassl-5.1-security
-    timestamp: Fri 2012-02-10 11:49:48 +0200
-    message:
-      merge
-------------------------------------------------------------
-revno: 3273 [merge]
-committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-branch nick: upgrade-yassl-5.5-security
-timestamp: Fri 2012-02-10 11:45:46 +0200
-message:
-  merge
-    ------------------------------------------------------------
-    revno: 3271.1.1 [merge]
-    committer: Martin Hansson <martin.hansson@oracle.com>
-    branch nick: mysql-5.5-security
-    timestamp: Tue 2012-02-07 17:32:04 +0100
-    message:
-      Merge of fix for Bug#11765810.
-        ------------------------------------------------------------
-        revno: 2661.802.1
-        committer: Martin Hansson <martin.hansson@oracle.com>
-        branch nick: mysql-5.1-security
-        timestamp: Tue 2012-02-07 14:16:09 +0100
-        message:
-          Bug #11765810 58813: SERVER THREAD HANGS WHEN JOIN + WHERE + GROUP BY
-          IS EXECUTED TWICE FROM P
-          
-          This bug is a duplicate of bug 12567331, which was pushed to the
-          optimizer backporting tree on 2011-06-11. This is just a back-port of
-          the fix. Both test cases are included as they differ somewhat.
-------------------------------------------------------------
-revno: 3272 [merge]
-committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-branch nick: upgrade-yassl-5.5-security
-timestamp: Fri 2012-02-10 11:41:54 +0200
-message:
-  empty merge mysql-5.1-security->mysql-5.5-secruity
-    ------------------------------------------------------------
-    revno: 2661.768.56 [merge]
-    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-    branch nick: upgrade-yassl-5.1-security
-    timestamp: Fri 2012-02-10 11:39:51 +0200
-    message:
-      empty merge of mysql-5.0-security->mysql-5.1-security
-        ------------------------------------------------------------
-        revno: 1810.4000.41
-        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-        branch nick: upgrade-yassl-5.0-security
-        timestamp: Fri 2012-02-10 11:10:07 +0200
-        message:
-          Bug#13706621 :  UNIFY THE YASSL VERSIONS THAT WE USE BY BACKPORTING 5.1 
-          AND 5.5 YASSL FIXES.
-          
-          Took the 5.5 yassl code and applied it to the 5.0 codebase, keeping the
-          compilation files.
-    ------------------------------------------------------------
-    revno: 2661.768.55
-    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-    branch nick: upgrade-yassl-5.1-security
-    timestamp: Fri 2012-02-10 11:35:36 +0200
-    message:
-      Bug#13706621 :  UNIFY THE YASSL VERSIONS THAT WE USE BY BACKPORTING 5.1 
-      AND 5.5 YASSL FIXES.
-      
-      Took the 5.5 yassl directory and moved it to the 5.1 tree, while
-      preserving the makefiles.
-------------------------------------------------------------
-revno: 3271 [merge]
-committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-branch nick: merge-5.5-security
-timestamp: Mon 2012-02-06 18:37:02 +0200
-message:
-  empty weave merge mysql-5.1-security->mysql-5.5-security
-    ------------------------------------------------------------
-    revno: 2661.768.54 [merge]
-    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-    branch nick: merge-5.1-security
-    timestamp: Mon 2012-02-06 18:26:48 +0200
-    message:
-      empty weave merge mysql-5.0-security->mysql-5.1-security
-        ------------------------------------------------------------
-        revno: 1810.4000.40 [merge]
-        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-        branch nick: merge-5.0-security
-        timestamp: Mon 2012-02-06 18:23:41 +0200
-        message:
-          merged mysql-5.0->mysql-5.0-security
-    ------------------------------------------------------------
-    revno: 2661.768.53 [merge]
-    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-    branch nick: merge-5.1-security
-    timestamp: Mon 2012-02-06 18:24:51 +0200
-    message:
-      merged mysql-5.1->mysql-5.1-security
-------------------------------------------------------------
-revno: 3270 [merge]
-committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-branch nick: merge-5.5-security
-timestamp: Mon 2012-02-06 18:26:36 +0200
-message:
-  merge mysql-5.5->mysql-5.5-security
-    ------------------------------------------------------------
-    revno: 3097.116.122 [merge]
-    committer: Vasil Dimov <vasil.dimov@oracle.com>
-    branch nick: mysql-5.5
-    timestamp: Mon 2012-02-06 13:00:41 +0200
-    message:
-      Merge mysql-5.1 -> mysql-5.5
-      
-      The actual Bug#11754376 does not exist in MySQL 5.5 because at startup
-      we drop entries for temporary tables from InnoDB dictionary cache (only
-      if ROW_FORMAT is not REDUNDANT). But nevertheless the bug in
-      normalize_table_name_low() is present so we fix it.
-        ------------------------------------------------------------
-        revno: 2661.800.14
-        committer: Vasil Dimov <vasil.dimov@oracle.com>
-        branch nick: mysql-5.1
-        timestamp: Mon 2012-02-06 12:44:59 +0200
-        message:
-          Fix Bug#11754376 45976: INNODB LOST FILES FOR TEMPORARY TABLES ON
-          GRACEFUL SHUTDOWN
-          
-          During startup mysql picks up .frm files from the tmpdir directory and
-          tries to drop those tables in the storage engine.
-          
-          The problem is that when tmpdir ends in / then ha_innobase::delete_table()
-          is passed a string like "/var/tmp//#sql123", then it wrongly normalizes it
-          to "/#sql123" and calls row_drop_table_for_mysql() which of course fails
-          to delete the table entry from the InnoDB dictionary cache.
-          ha_innobase::delete_table() returns an error but nevertheless mysql wipes
-          away the .frm file and the entry in the InnoDB dictionary cache remains
-          orphaned with no easy way to remove it.
-          
-          The "no easy" way to remove it is to create a similar temporary table again,
-          copy its .frm file to tmpdir under "#sql123.frm" and restart mysqld with
-          tmpdir=/var/tmp (no trailing slash) - this way mysql will pick the .frm file
-          after restart and will try to issue drop table for "/var/tmp/#sql123"
-          (notice do double slash), ha_innobase::delete_table() will normalize it to
-          "tmp/#sql123" and row_drop_table_for_mysql() will successfully remove the
-          table entry from the dictionary cache.
-          
-          The solution is to fix normalize_table_name_low() to normalize things like
-          "/var/tmp//table" correctly to "tmp/table".
-          
-          This patch also adds a test function which invokes
-          normalize_table_name_low() with various inputs to make sure it works
-          correctly and a mtr test that calls this test function.
-          
-          Reviewed by:	Marko (http://bur03.no.oracle.com/rb/r/929/)
-    ------------------------------------------------------------
-    revno: 3097.116.121
-    committer: Ashish Agarwal<ashish.y.agarwal@oracle.com>
-    branch nick: mysql-5.5
-    timestamp: Sun 2012-02-05 14:10:50 +0530
-    message:
-      BUG#11754145: Failing test cases. Patch to correct the test case.
-    ------------------------------------------------------------
-    revno: 3097.116.120
-    committer: Nuno Carvalho <nuno.carvalho@oracle.com>
-    branch nick: mysql-5.5
-    timestamp: Fri 2012-02-03 14:23:33 +0000
-    message:
-      BUG#12403008 RPL_HEARTBEAT_BASIC FAILS SPORADICALLY ON PUSHBUILD
-            
-      rpl_heartbeat_basic test fails sporadically on pushbuild because did
-      not received all heartbeats from slave in circular replication.
-      
-      Removed from experimental collection.
-    ------------------------------------------------------------
-    revno: 3097.116.119 [merge]
-    committer: Ashish Agarwal<ashish.y.agarwal@oracle.com>
-    branch nick: mysql-5.5
-    timestamp: Fri 2012-02-03 19:41:03 +0530
-    message:
-      BUG#11748748: Merge from mysql-5.1 to mysql-5.5
-        ------------------------------------------------------------
-        revno: 2661.800.13
-        committer: Ashish Agarwal<ashish.y.agarwal@oracle.com>
-        branch nick: bug_93_5.1
-        timestamp: Fri 2012-02-03 19:37:00 +0530
-        message:
-          BUG#11748748 - 37280: CHECK AND REPAIR TABLE REPORT TABLE
-                                CORRUPTED WHEN RUN CONCURRENTLY WITH
-          
-          ISSUE: Table corruption due to concurrent queries.
-                 Different threads running check, repair query
-                 along with insert. Locks not properly acquired
-                 in repair query. Rows are inserted inbetween
-                 repair query.
-          
-          SOLUTION: Mutex lock is acquired before the
-                    repair call. Concurrent queries wont
-                    effect the call to repair.
-    ------------------------------------------------------------
-    revno: 3097.116.118
-    committer: Ashish Agarwal<ashish.y.agarwal@oracle.com>
-    branch nick: mysql-5.5
-    timestamp: Fri 2012-02-03 19:19:32 +0530
-    message:
-      BUG#11754145: One of the test was failing. Patch to fix the test
-    ------------------------------------------------------------
-    revno: 3097.116.117
-    committer: Ashish Agarwal<ashish.y.agarwal@oracle.com>
-    branch nick: bug_4145
-    timestamp: Thu 2012-02-02 18:17:14 +0530
-    message:
-      BUG#11754145 - 45702: IMPOSSIBE TO SPECIFY MYISAM_SORT_BUFFER > 4GB 
-                            ON 64 BIT MACHINES
-      
-      PROBLEM: When sorting index during repair of
-               myisam tables, due to improper casting
-               of buffer size variables value of myisam_
-               sort_buffer_size is not set greater than
-               4GB.
-      
-      SOLUTION: Proper casting of buffer size variable.
-                myisam_buffer_size changed to unsigned
-                long long to handle size > 4GB on
-                linux as well as windows.
-    ------------------------------------------------------------
-    revno: 3097.116.116 [merge]
-    committer: Alexander Barkov <alexander.barkov@oracle.com>
-    branch nick: mysql-5.5
-    timestamp: Thu 2012-02-02 16:25:48 +0400
-    message:
-      Merging from 5.1
-        ------------------------------------------------------------
-        revno: 2661.800.12
-        committer: Alexander Barkov <alexander.barkov@oracle.com>
-        branch nick: mysql-5.1
-        timestamp: Thu 2012-02-02 16:22:13 +0400
-        message:
-          Postfix for Bug#11752408.
-          Recording correct test results.
-          
-          modified:
-            mysql-test/suite/engines/funcs/r/db_alter_collate_ascii.result
-            mysql-test/suite/engines/funcs/r/db_alter_collate_utf8.result
-    ------------------------------------------------------------
-    revno: 3097.116.115
-    committer: Marko M?kel? <marko.makela@oracle.com>
-    branch nick: mysql-5.5
-    timestamp: Thu 2012-02-02 13:54:27 +0200
-    message:
-      ha_innobase::records_in_range(): Remove a debug assertion
-      that prohibits an open range (full table).
-      This assertion catches unnecessary calls to this method, but such calls
-      are not harming correctness.
-    ------------------------------------------------------------
-    revno: 3097.116.114 [merge]
-    committer: Marko M?kel? <marko.makela@oracle.com>
-    branch nick: mysql-5.5
-    timestamp: Thu 2012-02-02 13:50:54 +0200
-    message:
-      Merge mysql-5.1 to mysql-5.5.
-        ------------------------------------------------------------
-        revno: 2661.800.11
-        committer: Marko M?kel? <marko.makela@oracle.com>
-        branch nick: mysql-5.1
-        timestamp: Thu 2012-02-02 13:38:32 +0200
-        message:
-          Bug#13654923 BOGUS DEBUG ASSERTION IN INDEX CREATION FOR ZERO-LENGTH RECORD
-          
-          row_merge_buf_write(): Relax the bogus assertion.
-    ------------------------------------------------------------
-    revno: 3097.116.113
-    committer: Marko M?kel? <marko.makela@oracle.com>
-    branch nick: mysql-5.5
-    timestamp: Thu 2012-02-02 12:31:57 +0200
-    message:
-      Bug #13651627 Move ut_ad(0) from the beginning to the end of buf_page_print(),
-      print page dump
-      
-      buf_page_print(): Remove the ut_ad(0) from the beginning. Add two flags
-      (enum buf_page_print_flags) that can be bitwise-ORed together:
-      
-      BUF_PAGE_PRINT_NO_CRASH:
-        Do not crash debug builds at the end of buf_page_print().
-      BUF_PAGE_PRINT_NO_FULL:
-        Do not print the full page dump. This can be useful when adding
-        diagnostic printout to flushing or to the doublewrite buffer.
-      
-      trx_sys_doublewrite_init_or_restore_page(): Replace exit(1) with ut_error,
-      so that we can get a core dump if this extraordinary condition happens.
-      
-      rb:924 approved by Sunny Bains
-    ------------------------------------------------------------
-    revno: 3097.116.112 [merge]
-    committer: Marko M?kel? <marko.makela@oracle.com>
-    branch nick: mysql-5.5
-    timestamp: Thu 2012-02-02 12:13:35 +0200
-    message:
-      Merge mysql-5.1 to mysql-5.5.
-        ------------------------------------------------------------
-        revno: 2661.800.10
-        committer: Marko M?kel? <marko.makela@oracle.com>
-        branch nick: mysql-5.1
-        timestamp: Thu 2012-02-02 12:07:06 +0200
-        message:
-          Suppress messages about long semaphore waits in innodb_bug34300.test.
-    ------------------------------------------------------------
-    revno: 3097.116.111 [merge]
-    committer: Ashish Agarwal<ashish.y.agarwal@oracle.com>
-    branch nick: mysql-5.5
-    timestamp: Thu 2012-02-02 14:25:43 +0530
-    message:
-      BUG#11756869: Merge from mysql-5.1 to mysql-5.5
-        ------------------------------------------------------------
-        revno: 2661.800.9 [merge]
-        committer: Ashish Agarwal<ashish.y.agarwal@oracle.com>
-        branch nick: mysql-5.1
-        timestamp: Thu 2012-02-02 14:19:38 +0530
-        message:
-          BUG#11756869 - 48848: MYISAMCHK DOING SORT RECOVER IN CERTAIN
-                                CASES RESETS DATA POINTER TO SMAL
-          
-          ISSUE: Myisamchk doing sort recover
-                 on a table reduces data_file_length.
-                 Maximum size of data file decreases,
-                 lesser number of rows are stored.
-          
-          SOLUTION: Size of data_file_length is
-                    fixed to the original length.
-            ------------------------------------------------------------
-            revno: 2661.801.1
-            committer: Ashish Agarwal<ashish.y.agarwal@oracle.com>
-            branch nick: bug_869_1
-            timestamp: Wed 2012-02-01 11:19:53 +0530
-            message:
-              BUG#11756869 - 48848: MYISAMCHK DOING SORT RECOVER IN CERTAIN
-                                    CASES RESETS DATA POINTER TO SMAL
-              
-              ISSUE: Myisamchk doing sort recover
-                     on a table reduces data_file_length.
-                     Maximum size of data file decreases,
-                     lesser number of rows are stored.
-              
-              SOLUTION: Size of data_file_length is
-                        fixed to the original length.
-    ------------------------------------------------------------
-    revno: 3097.116.110 [merge]
-    committer: Andrei Elkin <andrei.elkin@oracle.com>
-    branch nick: 5.5-bug3593869-64035-MYSQL_BINLOG_SEND-CRASH
-    timestamp: Tue 2012-01-31 17:16:25 +0200
-    message:
-      merge from 5.5 repo.
-        ------------------------------------------------------------
-        revno: 3097.123.8
-        committer: Inaam Rana <inaam.rana@oracle.com>
-        branch nick: mysql-5.5
-        timestamp: Tue 2012-01-31 09:50:17 -0500
-        message:
-          bug#13636122: mysql-5.1 => mysql-5.5
-        ------------------------------------------------------------
-        revno: 3097.123.7 [merge]
-        committer: Inaam Rana <inaam.rana@oracle.com>
-        branch nick: mysql-5.5
-        timestamp: Tue 2012-01-31 09:36:28 -0500
-        message:
-          NULL merge from mysql-5.1
-            ------------------------------------------------------------
-            revno: 2661.800.8
-            committer: Inaam Rana <inaam.rana@oracle.com>
-            branch nick: mysql-5.1
-            timestamp: Tue 2012-01-31 09:31:31 -0500
-            message:
-              Bug#13636122 THE ORIGINAL TABLE MISSING WHILE EXECUTE THE DDL 'ALTER TABLE ADD COLUMN
-              
-              rb://914
-              approved by: Marko Makela
-              
-              Poll in fil_rename_tablespace() after setting ::stop_ios flag can
-              result in a hang because the other thread actually dispatching the IO
-              won't wake IO helper threads or flush the tablespace before starting
-              wait in fil_mutex_enter_and_prepare_for_io().
-    ------------------------------------------------------------
-    revno: 3097.116.109 [merge]
-    committer: Andrei Elkin <andrei.elkin@oracle.com>
-    branch nick: 5.5-bug3593869-64035-MYSQL_BINLOG_SEND-CRASH
-    timestamp: Tue 2012-01-31 17:07:44 +0200
-    message:
-      merge from 5.5 repo.
-        ------------------------------------------------------------
-        revno: 3097.123.6 [merge]
-        committer: sayantan.dutta@oracle.com
-        branch nick: mysql-5.5
-        timestamp: Tue 2012-01-31 17:46:45 +0530
-        message:
-          Undo last push
-            ------------------------------------------------------------
-            revno: 2661.800.7
-            committer: sayantan.dutta@oracle.com
-            branch nick: mysql-5.1
-            timestamp: Tue 2012-01-31 17:39:40 +0530
-            message:
-              (no message)
-        ------------------------------------------------------------
-        revno: 3097.123.5 [merge]
-        committer: sayantan.dutta@oracle.com
-        branch nick: mysql-5.5
-        timestamp: Tue 2012-01-31 17:20:56 +0530
-        message:
-          merge #64127 5.1 => 5.5
-            ------------------------------------------------------------
-            revno: 2661.800.6
-            committer: sayantan.dutta@oracle.com
-            branch nick: mysql-5.1
-            timestamp: Tue 2012-01-31 17:09:32 +0530
-            message:
-              Bug #64127: MTR --warnings option misses some of InnoDB errors and warnings
-        ------------------------------------------------------------
-        revno: 3097.123.4 [merge]
-        committer: Ramil Kalimullin <ramil@mysql.com>
-        branch nick: mysql-5.5
-        timestamp: Tue 2012-01-31 11:00:31 +0400
-        message:
-          Auto-merge from mysql-5.1.
-            ------------------------------------------------------------
-            revno: 2661.800.5 [merge]
-            committer: Ramil Kalimullin <ramil@mysql.com>
-            branch nick: mysql-5.1
-            timestamp: Tue 2012-01-31 10:57:12 +0400
-            message:
-              Null-merge from mysql-5.0.
-                ------------------------------------------------------------
-                revno: 1810.4004.9
-                committer: Ramil Kalimullin <ramil@mysql.com>
-                branch nick: mysql-5.0
-                timestamp: Mon 2012-01-30 22:52:33 +0400
-                message:
-                  Fix for BUG#13596377: MYSQL CRASHES ON STARTUP ON FREEBSD IN PB2
-                  
-                  Fix for #36428/#38364 backported into 5.0.
-        ------------------------------------------------------------
-        revno: 3097.123.3
-        author: hery.ramilison@oracle
-        committer: Build Team <MYSQL-RE_WW@oracle.com>
-        branch nick: mysql-5.5
-        timestamp: Mon 2012-01-30 18:33:55 +0100
-        message:
-          starting 5.5.21 build
-        ------------------------------------------------------------
-        revno: 3097.123.2 [merge]
-        tags: clone-5.5.21-build, mysql-5.5.21
-        committer: chuck.bell@oracle.com
-        branch nick: mysql-12969301
-        timestamp: Mon 2012-01-30 10:23:21 -0500
-        message:
-          Merge with main for BUG#12969301
-            ------------------------------------------------------------
-            revno: 3097.124.24
-            committer: Inaam Rana <inaam.rana@oracle.com>
-            branch nick: mysql-5.5
-            timestamp: Mon 2012-01-30 09:24:09 -0500
-            message:
-              Bug#11836233 MISLEADING SUGGESTION REGARDING LINUX NATIVE AIO IN INNODB
-              ERROR LOG
-              
-              Fixed error meesage
-            ------------------------------------------------------------
-            revno: 3097.124.23
-            committer: Tor Didriksen <tor.didriksen@oracle.com>
-            branch nick: 5.5
-            timestamp: Mon 2012-01-30 10:08:22 +0100
-            message:
-              Bug#13604121 - LIBMYSQLCIENT.SO MISSING SOME FUNCTIONS PRESENT IN LIBMYSQLCLIENT.A 
-              
-              +get_tty_password  this is the only external symbol in get_password.c,
-                                 which is explicitly listed in CLIENT_SOURCES
-              +handle_options    this is in mysys/my_getopt.c
-                                 adding this sysmbol pulls in the other externals:
-              T getopt_compare_strings
-              T getopt_double_limit_value
-              T getopt_ll_limit_value
-              T getopt_ull_limit_value
-              T handle_options
-              T my_cleanup_options
-              T my_getopt_register_get_addr
-              T my_print_help
-              T my_print_variables
-            ------------------------------------------------------------
-            revno: 3097.124.22
-            committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
-            branch nick: mysql-5.5
-            timestamp: Fri 2012-01-27 13:07:24 +0900
-            message:
-              Fix for build break introduced at rev 3711
-              asked by Calvin
-            ------------------------------------------------------------
-            revno: 3097.124.21
-            committer: Jorgen Loland <jorgen.loland@oracle.com>
-            branch nick: mysql-5.5
-            timestamp: Thu 2012-01-26 13:30:11 +0100
-            message:
-              BUG 13413535 followup: Fix gcc warning
-            ------------------------------------------------------------
-            revno: 3097.124.20
-            committer: Marko M?kel? <marko.makela@oracle.com>
-            branch nick: mysql-5.5
-            timestamp: Thu 2012-01-26 13:24:00 +0200
-            message:
-              Bug #13413535 61104: INNODB: FAILING ASSERTION: PAGE_GET_N_RECS(PAGE) > 1
-              
-              This fix does not remove the underlying cause of the assertion
-              failure. It just works around the problem, allowing a corrupted
-              secondary index to be fixed by DROP INDEX and CREATE INDEX (or in the
-              worst case, by re-creating the table).
-              
-              ibuf_delete(): If the record to be purged is the last one in the page
-              or it is not delete-marked, refuse to purge it. Instead, write an
-              error message to the error log and let a debug assertion fail.
-              
-              ibuf_set_del_mark(): If the record to be delete-marked is not found,
-              display some more information in the error log and let a debug
-              assertion fail.
-              
-              row_undo_mod_del_unmark_sec_and_undo_update(),
-              row_upd_sec_index_entry(): Let a debug assertion fail when the record
-              to be delete-marked is not found.
-              
-              buf_page_print(): Add ut_ad(0) so that corruption will be more
-              prominent in stress testing with debug binaries. Add ut_ad(0) here and
-              there where corruption is noticed.
-              
-              btr_corruption_report(): Display some data on page_is_comp() mismatch.
-              
-              btr_assert_not_corrupted(): A wrapper around btr_corruption_report().
-              Assert that page_is_comp() agrees with the table flags.
-              
-              rb:911 approved by Inaam Rana
-            ------------------------------------------------------------
-            revno: 3097.124.19 [merge]
-            committer: Guilhem Bichot <guilhem.bichot@oracle.com>
-            branch nick: mysql-5.5-2
-            timestamp: Thu 2012-01-26 10:38:28 +0100
-            message:
-              merge from 5.1
-                ------------------------------------------------------------
-                revno: 2661.800.4
-                committer: Guilhem Bichot <guilhem.bichot@oracle.com>
-                branch nick: mysql-5.1
-                timestamp: Thu 2012-01-26 10:25:23 +0100
-                message:
-                  Fixes for:
-                  BUG#13519696 - 62940: SELECT RESULTS VARY WITH VERSION AND
-                  WITH/WITHOUT INDEX RANGE SCAN
-                  BUG#13453382 - REGRESSION SINCE 5.1.39, RANGE OPTIMIZER WRONG
-                  RESULTS WITH DECIMAL CONVERSION
-                  BUG#13463488 - 63437: CHAR & BETWEEN WITH INDEX RETURNS WRONG
-                  RESULT AFTER MYSQL 5.1.
-                  Those are all cases where the range optimizer got it wrong
-                  with > and >=.
-            ------------------------------------------------------------
-            revno: 3097.124.18
-            committer: Tor Didriksen <tor.didriksen@oracle.com>
-            branch nick: 5.5
-            timestamp: Thu 2012-01-26 08:00:37 +0100
-            message:
-              Bug#11753187 post-push fix: fix .result file
-            ------------------------------------------------------------
-            revno: 3097.124.17
-            committer: Nuno Carvalho <nuno.carvalho@oracle.com>
-            branch nick: mysql-5.5
-            timestamp: Wed 2012-01-25 18:05:10 +0000
-            message:
-              BUG#12403008 RPL_HEARTBEAT_BASIC FAILS SPORADICALLY ON PUSHBUILD
-              
-              rpl_heartbeat_basic test fails sporadically on pushbuild because did
-              not received all heartbeats from slave in circular replication.
-              
-              MASTER_HEARTBEAT_PERIOD had the default value (slave_net_timeout/2) so
-              wait on "Heartbeat event received on master", that only waits for 1
-              minute, sometimes timeout before heartbeat arrives. Fixed setting a
-              smaller period value.
-            ------------------------------------------------------------
-            revno: 3097.124.16
-            committer: Tor Didriksen <tor.didriksen@oracle.com>
-            branch nick: 5.5-merge
-            timestamp: Wed 2012-01-25 16:11:03 +0100
-            message:
-              Bug#13359121 LARGE NUMBERS, /STRINGS/DTOA.C:662
-              Bug#12985021 SIMPLE QUERY WITH DECIMAL NUMBERS TAKE AN
-              
-              When parsing the fractional part of a string which
-              is to be converted to double, we can stop after a few digits:
-              the extra digits will not contribute to the actual result anyways.
-            ------------------------------------------------------------
-            revno: 3097.124.15
-            committer: Tor Didriksen <tor.didriksen@oracle.com>
-            branch nick: 5.5
-            timestamp: Wed 2012-01-25 16:05:27 +0100
-            message:
-              Bug#13463415 followup: compensate for compiler bug
-            ------------------------------------------------------------
-            revno: 3097.124.14
-            committer: Tor Didriksen <tor.didriksen@oracle.com>
-            branch nick: 5.5-bug13463415decimal
-            timestamp: Wed 2012-01-25 10:36:25 +0100
-            message:
-              Bug#13463415 63502: INCORRECT RESULTS OF BIGINT AND DECIMAL COMPARISON
-              Bug#11758543 50756: BIGINT '100' MATCHES 1.001E2
-              
-              Expressions of the form
-                    BIGINT_COL <compare> <non-integer constant>
-              
-                    should be done either as decimal, or float.
-              
-                    Currently however, such comparisons are done as int,
-                    which means that the constant may be truncated,
-                    and yield false positives/negatives for all queries
-                    where compare is '>' '<' '>=' '<=' '=' '!='.
-              
-                    BIGINT_COL IN <list of contstants>
-                    and
-                    BIGINT_COL BETWEEN <constant> AND <constant>
-                    are also affected.
-            ------------------------------------------------------------
-            revno: 3097.124.13
-            committer: Dmitry Shulga <Dmitry.Shulga@oracle.com>
-            branch nick: mysql-5.5-bug11753187
-            timestamp: Wed 2012-01-25 15:59:30 +0600
-            message:
-              Fixed bug#11753187 (formerly known as bug 44585): SP_CACHE BEHAVES AS
-              MEMORY LEAK.
-              
-              Background:
-               - There are caches for stored functions and stored procedures (SP-cache);
-               - There is no similar cache for events;
-               - Triggers are cached together with TABLE objects;
-               - Those SP-caches are per-session (i.e. specific to each session);
-               - A stored routine is represented by a sp_head-instance internally;
-               - SP-cache basically contains sp_head-objects of stored routines, which
-                 have been executed in a session;
-               - sp_head-object is added into the SP-cache before the corresponding
-                 stored routine is executed;
-               - SP-cache is flushed in the end of the session.
-              
-              The problem was that SP-cache might grow without any limit. Although this
-              was not a pure memory leak (the SP-cache is flushed when session is closed),
-              this is still a problem, because the user might take much memory by
-              executing many stored routines.
-              
-              The patch fixes this problem in the least-intrusive way. A soft limit
-              (similar to the size of table definition cache) is introduced. To represent
-              such limit the new runtime configuration parameter 'stored_program_cache'
-              is introduced. The value of this parameter is stored in the new global
-              variable stored_program_cache_size that used to control the size of SP-cache
-              to overflow. 
-              
-              The parameter 'stored_program_cache' limits number of cached routines for
-              each thread. It has the following min/default/max values given from support:
-                min = 256, default = 256, max = 512 * 1024.
-              Also it should be noted that this parameter limits the size of 
-              each cache (for stored procedures and for stored functions) separately.
-              
-              The SP-cache size is checked after top-level statement is parsed.
-              If SP-cache size exceeds the limit specified by parameter
-              'stored_program_cache' then SP-cache is flushed and memory allocated for
-              cache objects is freed. Such approach allows to flush cache safely 
-              when there are dependencies among stored routines.
-            ------------------------------------------------------------
-            revno: 3097.124.12 [merge]
-            committer: Marko M?kel? <marko.makela@oracle.com>
-            branch nick: mysql-5.5
-            timestamp: Wed 2012-01-25 10:18:14 +0200
-            message:
-              Merge mysql-5.1 to mysql-5.5.
-                ------------------------------------------------------------
-                revno: 2661.800.3
-                committer: Marko M?kel? <marko.makela@oracle.com>
-                branch nick: mysql-5.1
-                timestamp: Wed 2012-01-25 10:15:27 +0200
-                message:
-                  btr_cur_search_to_nth_level(): Add a debug assertion
-                  and some Valgrind instrumentation.
-            ------------------------------------------------------------
-            revno: 3097.124.11 [merge]
-            committer: Alexander Barkov <alexander.barkov@oracle.com>
-            branch nick: mysql-5.5.b13458237
-            timestamp: Tue 2012-01-24 16:09:25 +0400
-            message:
-              Merging from mysql-5.5
-                ------------------------------------------------------------
-                revno: 2661.800.2 [merge]
-                committer: Alexander Barkov <alexander.barkov@oracle.com>
-                branch nick: mysql-5.1.b13458237
-                timestamp: Tue 2012-01-24 16:02:12 +0400
-                message:
-                  Merging from mysql-5.1
-            ------------------------------------------------------------
-            revno: 3097.124.10 [merge]
-            committer: Alexander Barkov <alexander.barkov@oracle.com>
-            branch nick: mysql-5.5.b13458237
-            timestamp: Tue 2012-01-24 13:24:05 +0400
-            message:
-              Merging BUG#13458237 from 5.1.
-                ------------------------------------------------------------
-                revno: 2661.800.1
-                committer: Alexander Barkov <alexander.barkov@oracle.com>
-                branch nick: mysql-5.1.b13458237
-                timestamp: Tue 2012-01-24 13:00:13 +0400
-                message:
-                  BUG#13458237 - INCONSISTENT HANDLING OF INVALIDE DATES WITH ZERO DAY. SIMILAR TO '2009-10-00' 
-                  - Reverting the patch for Bug # 12584302
-                    The patch will be reverted in 5.1 and 5.5.
-                    The patch will not be reverted in 5.6, the change will
-                    be properly documented in 5.6.
-                  - Backporting DBUG_ASSERT not to crash on '0000-01-00'
-                    (already fixed in mysql-trunk (5.6))
-            ------------------------------------------------------------
-            revno: 3097.124.9
-            committer: Nuno Carvalho <nuno.carvalho@oracle.com>
-            branch nick: mysql-5.5
-            timestamp: Mon 2012-01-23 16:50:54 +0000
-            message:
-              BUG#12364404 - UNDETERMINISTIC WAIT LOOP IN WAIT_FOR_NDB_TO_BINLOG.INC
-              
-              The wait_for_ndb_to_binlog.inc include file used by the blow rpl_tests
-              common for rpl and rpl_ndb suite is simply doing a "sleep 5", this is
-              not deterministic and wastes lot of test time uneccessarily. The test
-              should be rewritten to check if the condition it wait for has been
-              reached or not.
-              
-              For NDB engine all events will be added by NDB injector so tests only 
-              can continue after injector is ready, this test waits for proper
-              injector thread state.
-            ------------------------------------------------------------
-            revno: 3097.124.8
-            committer: Manish Kumar<manish.4.kumar@oracle.com>
-            branch nick: mysql-5.5
-            timestamp: Mon 2012-01-23 17:39:37 +0530
-            message:
-              BUG#11752315 - 43460: STOP SLAVE UNABLE TO COMPLETE WHEN SLAVE THREAD IS TRYING TO RECONNECT TO
-              
-              Problem : The basic problem is the way the thread sleeps in mysql-5.5 and also in mysql-5.1
-                        when we execute a stop slave on windows platform.
-                        On windows platform if the stop slave is executed after the master dies, we have 
-                        this long wait before the stop slave return a value. This is because there is a 
-                        sleep of the thread. The sleep is uninterruptable in the two above version,
-                        which was fixed by Davi patch for the BUG#11765860 for mysql-trunk. Backporting 
-                        his patch for mysql-5.5 fixes the problem. 
-              
-              Solution : A new pair of mutex and condition variable is introduced to synchronize thread 
-                         sleep and finalization. A new mutex is required because the slave threads are 
-                         terminated while holding the slave thread locks (run_lock), which can not be 
-                         relinquished during termination as this would affect the lock order.
-            ------------------------------------------------------------
-            revno: 3097.124.7 [merge]
-            committer: Alexander Barkov <alexander.barkov@oracle.com>
-            branch nick: mysql-5.5.b11752408v2
-            timestamp: Mon 2012-01-23 13:23:50 +0400
-            message:
-              Merging Bug#11752408 from mysql-5.1
-                ------------------------------------------------------------
-                revno: 2661.798.22
-                committer: Alexander Barkov <alexander.barkov@oracle.com>
-                branch nick: mysql-5.1.b11752408
-                timestamp: Mon 2012-01-23 13:07:10 +0400
-                message:
-                  Bug#11752408 - 43593: DUMP/BACKUP/RESTORE/UPGRADE TOOLS FAILS BECAUSE OF UTF8_GENERAL_CI
-                  
-                  Introducing new collations:
-                  utf8_general_mysql500_ci and ucs2_general_mysql500_ci,
-                  to reproduce behaviour of utf8_general_ci and ucs2_general_ci
-                  from mysql-5.1.23 (and earlier).
-                  
-                  The collations are added to simplify upgrade from mysql-5.1.23 and earlier.
-                  
-                  Note: The patch does not make new server start over old data automatically.
-                  Some manual upgrade procedures are assumed.
-                  
-                  Paul: please get in touch with me to discuss upgrade procedures
-                  when documenting this bug.
-                  
-                  modified:
-                    include/m_ctype.h
-                    mysql-test/r/ctype_utf8.result
-                    mysql-test/t/ctype_utf8.test
-                    mysys/charset-def.c
-                    strings/ctype-ucs2.c
-                    strings/ctype-utf8.c
-            ------------------------------------------------------------
-            revno: 3097.124.6
-            committer: Inaam Rana <inaam.rana@oracle.com>
-            branch nick: mysql-5.5
-            timestamp: Fri 2012-01-20 10:47:01 -0500
-            message:
-              Bug#13612811	VALGRIND ERROR IN OS_AIO_INIT
-              
-              Fix valgrind warning introduced by fix for bug 11765450.
-            ------------------------------------------------------------
-            revno: 3097.124.5
-            committer: Mattias Jonsson <mattias.jonsson@oracle.com>
-            branch nick: topush-5.5
-            timestamp: Fri 2012-01-20 14:19:39 +0100
-            message:
-              Bug#13500478 63623: TEST CASE PARTITION_BINLOG_STMT
-              CREATES A FILE IN AN IMPROPER LOCATION.
-              
-              Fixed by using $MYSQLTEST_VARDIR, as proposed by
-              Davi Arnaut.
-              
-              Thank you Davi!
-            ------------------------------------------------------------
-            revno: 3097.124.4
-            committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
-            branch nick: fix-5.5
-            timestamp: Fri 2012-01-20 13:35:48 +0200
-            message:
-              Addendum to the fix for bug #11754014
-              
-              - Fixed the checks to properly check for plugin_dir containing a trailing slash or backslash.
-              - Fixed a under-configuration in udf_skip_grants that was preventing the test 
-                from running even when there was a udf plugin.
-            ------------------------------------------------------------
-            revno: 3097.124.3
-            committer: Dmitry Shulga <Dmitry.Shulga@oracle.com>
-            branch nick: mysql-5.5-bug13070308
-            timestamp: Fri 2012-01-20 16:03:39 +0600
-            message:
-              Patch for bug#13070308 - VALGRIND failure in XA test.
-              
-              The issue is that xa.test failed sporadically on some platforms.
-              The reason for the test failure is a race condition in xa.test.
-              The race condition occures between connection that executes statement
-              INSERT INTO t2 SELECT FROM t1 and other connection that tries to run
-              statements DELETE FROM t1 and COMMIT. If COMMIT statement had been executed
-              before the statement INSERT INTO t2 SELECT FROM t1 was locked by lock
-              on table t1 (as a result of query from table t1) then the INSERT statement
-              is executed successfully and a following test for deadlock would failed.
-              
-              This patch fixes this race condition by moving COMMIT statement after commit
-              of distributed transaction from concurrent session.
-            ------------------------------------------------------------
-            revno: 3097.124.2
-            committer: Nuno Carvalho <nuno.carvalho@oracle.com>
-            branch nick: mysql-5.5
-            timestamp: Thu 2012-01-19 16:56:43 +0000
-            message:
-              BUG#13050593 - BACKSLASH SWALLOWED BY INCLUDE/SHOW_SLAVE_STATUS.INC
-              
-              If an error message contains '\' backslash it is displayed correctly
-              through show-slave-status or
-              query_get_value(SHOW SLAVE STATUS, Last_IO_Error, 1);. But when
-              SELECT REPLACE(...) is applied backslash is escaped resulting in a
-              different test output.
-              
-              Disabled backslash escape on show_slave_status.inc and replaced '\' for
-              '/' using replace_regex function in order to achieve the same test
-              output when different path separators are used.
-            ------------------------------------------------------------
-            revno: 3097.124.1
-            committer: Inaam Rana <inaam.rana@oracle.com>
-            branch nick: mysql-5.5
-            timestamp: Thu 2012-01-19 09:10:30 -0500
-            message:
-              Bug#11765450 58421: INNODB TEMPORARY TABLE CRASH WHEN TMPDIR ON LINUX TMPFS
-              
-              rb://898
-              approved by: Marko Makela
-              
-              On some kernel versions native aio operations are not supported on
-              tmpfs. Check this during start up and fall back to simulated aio.
+commit f105d1ed869c2a978686ebc3ed77413bb1fdabb3
+Author: Terje Rosten <terje.rosten@oracle.com>
+Date:   Fri Aug 26 11:25:40 2016 +0200
+
+    Bug#24464380 PRIVILEGE ESCALATION USING MYSQLD_SAFE
+    
+    Post push fix: Solaris 10 /bin/sh don't understand $().
+
+commit 4ad01643fa79d66d49ea0a5dc073291f14e6d198
+Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
+Date:   Mon Aug 22 14:30:02 2016 +0200
+
+    Bug#24388753: PRIVILEGE ESCALATION USING MYSQLD_SAFE
+    
+    [This is the 5.5/5.6 version of the bugfix].
+    
+    The problem was that it was possible to write log files ending
+    in .ini/.cnf that later could be parsed as an options file.
+    This made it possible for users to specify startup options
+    without the permissions to do so.
+    
+    This patch fixes the problem by disallowing general query log
+    and slow query log to be written to files ending in .ini and .cnf.
+
+commit 46aa20b0e1baa6fd1f03a5c18da09487f96a8c17
+Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
+Date:   Tue Aug 16 15:35:19 2016 +0200
+
+    Bug#24388746: PRIVILEGE ESCALATION AND RACE CONDITION USING CREATE TABLE
+    
+    During REPAIR TABLE of a MyISAM table, a temporary data file (.TMD)
+    is created. When repair finishes, this file is renamed to the original
+    .MYD file. The problem was that during this rename, we copied the
+    stats from the old file to the new file with chmod/chown. If a user
+    managed to replace the temporary file before chmod/chown was executed,
+    it was possible to get an arbitrary file with the privileges of the
+    mysql user.
+    
+    This patch fixes the problem by not copying stats from the old
+    file to the new file. This is not needed as the new file was
+    created with the correct stats. This fix only changes server
+    behavior - external utilities such as myisamchk still does
+    chmod/chown.
+    
+    No test case provided since the problem involves synchronization
+    with file system operations.
+
+commit cbba9c0fd5530ff7297b04e5b85ab7f38680295f
+Author: Terje Rosten <terje.rosten@oracle.com>
+Date:   Fri Aug 12 12:38:20 2016 +0200
+
+    Bug#24464380 PRIVILEGE ESCALATION USING MYSQLD_SAFE
+    
+    Argument to malloc-lib must be included in restricted list of
+    directories, symlink guards added, and mysqld and mysqld-version
+    options restricted to command line only. Don't redirect errors to
+    stderr.
+
+commit b3e3e9c7ed5526dff4f0bc222e674239b352ee27
+Author: Neha Kumari <neha.n.kumari@oracle.com>
+Date:   Fri Aug 5 12:17:11 2016 +0530
+
+    Bug#23540182:MYSQLBINLOG DOES NOT FREE THE EXISTING CONNECTION BEFORE OPENING NEW REMOTE ONE
+    
+    It happens when you are trying to read two or more log files from a
+    remote server using mysqlbinlog utility.
+    
+    The reason for this is no matching mysql_close() that concludes the
+    life time of 'mysql' struct describing connection to the server.
+    This happens when mysqlbinlog is invoked with connecting to the server
+    and requesting more than one binlog file. In such case
+    dump_remote_log_entries() keeps calling safe_connect() per eachfile,
+    never caring to invoke mysql_close(). Only the final safe_connect()'s
+    allocation effect are cleaned by the base code.
+    That is with 2 files there's one 'mysql' connection descriptor struct
+    uncleaned/deallocated.
+    
+    We are backporting the bug 21255763 (pushed in mysql-trunk)
+    in the earlier version of MySQL starting from 5.5 to 5.7.
+    which was pushed in mysql-trunk.
+    
+    Fix:
+    Invoke mysql_close() just before mysql_init() in safe_connect()
+    defined in mysqlbinlog.cc. That makes possibly previously used 'mysql' be
+    reclaimed prior a new one is allocated.
+
+commit 3cde80250f0592cf4270986f28946fdb1d440fc4
+Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
+Date:   Thu Aug 4 12:49:50 2016 +0530
+
+    Bug #19984392 : MEDIUMINT: STACK BUFFER OVERFLOW IN PROTOCOL_TEXT::STORE_LONG
+    
+    Reverting the patch due to some issues.
+
+commit c3743ff9b7813e9942d11ae8856a1732f830c941
+Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
+Date:   Wed Aug 3 12:54:58 2016 +0530
+
+    Bug #19984392 : MEDIUMINT: STACK BUFFER OVERFLOW IN PROTOCOL_TEXT::STORE_LONG
+    
+    ISSUE: Queries with mediumint as column when operated with
+    long long type of data results in buffer overflow in
+    store_long function.
+    
+    The merging rule specified for (MYSQL_TYPE_LONGLONG
+    MYSQL_TYPE_INT24) is MYSQL_TYPE_LONG. Due to this store_long
+    function was getting called which resulted in buffer overflow.
+    
+    SOLUTION:
+    The correct merging rule for (MYSQL_TYPE_LONGLONG,
+    MYSQL_TYPE_INT24) should be MYSQL_TYPE_LONGLONG.
+    So, instead of function store_long, function store_longlong
+    is called which correctly handles the type MYSQL_TYPE_LONGLONG.
+    
+    External Bug #23645238 is a duplicate of this issue.
+
+commit 2a774df598b8651897a4394e20ca2bfac6de2512
+Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
+Date:   Wed Aug 3 09:58:36 2016 +0530
+
+    Bug #24380263: INCORRECT BEHAVIOR WITH PARAMETER AND
+                   DERIVED TABLE IN JOIN
+    
+    ISSUE:
+    ------
+    This problem occurs under the following conditions:
+    1) A parameter is used in the select-list of a derived table.
+    2) The derived table is part of a JOIN.
+    
+    SOLUTION:
+    ---------
+    When a derived table is materialized, a temporary table is
+    created. This temporary table creates a field each for the
+    items in the select-list of the derived table. This set of
+    fields is later used to setup the join.
+    
+    Currently no field is created in the temporary table if a
+    parameter is used in the select-list.
+    
+    Create a field for the parameter. By default Item_param's
+    result type in a prepared statement is set to
+    STRING_RESULT. This can change during the execute phase
+    depending on the user variable. But since the execute phase
+    creates its own temporary table, it will be handled
+    separately.
+    
+    This is a backport of the fix for BUG#22392374.
+
+commit 3bc2b572967a4a67a6a3a0b41a0199f81d4339c4
+Merge: a0738f7 0496931
+Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
+Date:   Fri Jul 29 16:46:56 2016 +0530
+
+    Merge branch 'mysql-5.5.51-release' into mysql-5.5
+
+commit a0738f703e20b5530fe319f47fc1e5c8ad9e9667
+Author: Neha Kumari <neha.n.kumari@oracle.com>
+Date:   Mon Jul 25 20:34:20 2016 +0530
+
+    BUG#23509275 :DBUG_PRINT in THD::decide_logging_format prints incorrectly, access out-of-bound
+    
+    Problem:
+    In debug builds, there is a chance that an out-of-bounds
+    read is performed when tables are locked in
+    LTM_PRELOCKED_UNDER_LOCK_TABLES mode. It can happen because
+    the debug code uses enum values as index for an array of
+    mode descriptions, but it only takes into consideration 3
+    out of 4 of the enum values.
+    
+    Fix:
+    This patch fixes it by implementing a getter for the enum which
+    returns a string representation of the enum,
+    effectively removing the out-of-bounds read.
+    
+    Moreover, it also fixes the lock mode descriptions that
+    would be print out in debug builds.
+
+commit 9c7309c0d5bc1d663df96a730076d88f625a322c
+Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
+Date:   Mon Jul 25 06:43:16 2016 +0100
+
+    BUG#23703568 -  IS CLIENT LIBRARY SUPPOSED TO RETRY EINTR INDEFINITELY OR NOT
+    
+    Commit#ebd24626ca38e7fa1e3da2acdcf88540be70fabe obsoleted the THREAD and
+    THREAD_SAFE_CLIENT preprocessor symbols. This is not removed in the
+    sql/net_serv.cc thereby the code that retries on EINTR became dead code.
+    Remove the THREAD_SAFE_CLIENT preprocessor directive form sql/net_serv.cc.
+    Also check errno for EINTR only if there is an error in preceding read call.
+
+commit 39a1f7d8f19300c1e0f49f5db983b94ce3ae1854
+Author: Arun Kuruvila <arun.kuruvila@oracle.com>
+Date:   Fri Jul 22 13:15:32 2016 +0530
+
+    Bug #23295288: HANDLE_FATAL_SIGNAL (SIG=11) IN
+                   GET_SERVER_FROM_TABLE_TO_CACHE
+    
+    Description:- Server received SIG11 in the function,
+    "get_server_from_table_to_cache()".
+    
+    Analysis:- Defining a server with a blank name is not
+    handled properly.
+    
+    Fix:- Modified "get_server_from_table_to_cache()" to
+    take care of blank server name.
+
+commit 8235e9184c5a0cab08d74dfa4d47ff0faed8c31a
+Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
+Date:   Fri Jul 22 07:33:43 2016 +0530
+
+    Bug #23280699: MYSQLD GOT SIGNAL 11 IN IS_NULL ON SELECT
+                   FROM I_S
+    
+    Issue:
+    ------
+    There is a difference in the field type created when the
+    following DDLs are used:
+    
+    1) CREATE TABLE t0 AS SELECT NULL;
+    2) CREATE TABLE t0 AS SELECT GREATEST(NULL,NULL);
+    
+    The first statement creates field of type Field_string and
+    the second one creates a field of type Field_null.
+    
+    This creates a problem when the query mentioned in this bug
+    is used. Since the null_ptr is calculated differently for
+    Field_null.
+    
+    Solution:
+    ---------
+    When there is a function returning null in the select list
+    as mentioned above, the field should be of type
+    Field_string.
+    
+    This was fixed in 5.6+ as part of Bug#14021323. This is a
+    backport to mysql-5.5.
+    
+    An incorrect comment in innodb_bug54044.test has been
+    corrected in all versions.
+
+commit a9911d0b31e874c7ad6d3f088e755e04beb49e38
+Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
+Date:   Tue Jul 19 08:03:09 2016 +0530
+
+    Bug#23280059: ITEM_ROW::ILLEGAL_METHOD_CALL(CONST CHAR*):
+    	      ASSERTION `0' FAILED ON SELECT AREA
+    
+    Problem:
+    Optimizer tries to get the points to calculate area without
+    checking the return value of uint4korr for 0 "points". As a
+    result server exits.
+    
+    Solution:
+    Check the return value from uint4korr().
+
+commit 45c4bfa0f3f1c70756591f48710bb3e76ffde9bc
+Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
+Date:   Tue Jul 5 17:08:37 2016 +0530
+
+    Bug#23736787 - YUM UPDATE FAIL FROM 5.5.51(COMUNITY/COMMERCIAL) TO 5.6.32(COMUNITY/COMMERCIAL)
+    
+    Remove mysql_config from client sub-package
+
+commit 43320b72495cccc24fbe2a83fe4844f93bac6a08
+Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
+Date:   Fri Jul 1 12:01:27 2016 +0530
+
+    Bug #23296299 : HANDLE_FATAL_SIGNAL (SIG=11) IN
+                    MY_TOSORT_UTF32
+    
+    This patch is specific for mysql-5.5
+    
+    ISSUE: When a charater that is larger than possible to
+    handle is passed to function my_tosort_utf32(), it results
+    in segmentation fault. In the scenario mentioned in the bug
+    AES_ENCRYPT function is used which returns large value.
+    This value is further passed to my_tosort_utf32 function.
+    This causes to cross array bound for array uni_plane,
+    resulting in segment violation.
+    
+    SOLUTION:
+    This issue has got addressed in 5.6 onward releases
+    through worklog 2673.
+    
+    The fix is similar backport of that.
+    Check for maximum character before accessing the array
+    uni_plane. In addition to function my_tosort_utf32, the
+    same potential problem is also present in functions
+    my_tolower_utf16, my_toupper_utf16, my_tosort_utf16,
+    my_tolower_utf32, my_toupper_utf32, my_tosort_unicode,
+    my_tolower_utf8mb4 and my_toupper_utf8mb4.
+    Fixed these functions as well.
+
+commit 09f089bfb9f1b95a2da6129313b3e03229620810
+Author: Christopher Powers <chris.powers@oracle.com>
+Date:   Thu Jun 30 20:42:29 2016 +0200
+
+    Bug#14111584 PB2: PERFSCHEMA.AGGREGATE FAILS ON PB2 SPORADICALLY
+    
+    Permanently removed test case perfschema.aggregate.
+    
+    The Performance Schema is generally lock-free, allowing for
+    race conditions that might arise from multi-threaded operation
+    which occasionally results in temporary and/or minor variances
+    when aggregating statistics. This test needs to be redesigned
+    to accommodate such variances.
+
+commit 722ab50d01a795895a6ca8f13b3409b1919f16c0
+Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
+Date:   Mon Jun 27 12:48:57 2016 +0530
+
+    Raise version number after cloning 5.5.51

=== modified file 'Docs/INFO_SRC'
--- Docs/INFO_SRC	2012-03-29 22:25:05 +0000
+++ Docs/INFO_SRC	2016-09-14 12:24:46 +0000
@@ -1,7 +1,7 @@
-revision-id: hery.ramilison@oracle.com-20120302192717-x3pyzi4neg6ukaza
-date: 2012-03-02 20:27:17 +0100
-build-date: 2012-03-02 20:36:32 +0100
-revno: 6
-branch-nick: mysql-5.5.22-release
+commit: f105d1ed869c2a978686ebc3ed77413bb1fdabb3
+date: 2016-08-26 16:44:32 +0530
+build-date: 2016-08-26 13:24:21 +0200
+short: f105d1e
+branch: mysql-5.5.52-release
 
-MySQL source 5.5.22
+MySQL source 5.5.52

=== modified file 'Docs/INSTALL-BINARY'
--- Docs/INSTALL-BINARY	2012-03-29 22:25:05 +0000
+++ Docs/INSTALL-BINARY	2016-09-14 12:24:46 +0000
@@ -1,179 +1,8 @@
 
-2.2. Installing MySQL from Generic Binaries on Unix/Linux
-
-   Oracle provides a set of binary distributions of MySQL. These
-   include binary distributions in the form of compressed tar files
-   (files with a .tar.gz extension) for a number of platforms, as
-   well as binaries in platform-specific package formats for selected
-   platforms.
-
-   This section covers the installation of MySQL from a compressed
-   tar file binary distribution. For other platform-specific package
-   formats, see the other platform-specific sections. For example,
-   for Windows distributions, see Section 2.3, "Installing MySQL on
-   Microsoft Windows."
-
-   To obtain MySQL, see Section 2.1.3, "How to Get MySQL."
-
-   MySQL compressed tar file binary distributions have names of the
-   form mysql-VERSION-OS.tar.gz, where VERSION is a number (for
-   example, 5.5.23), and OS indicates the type of operating system
-   for which the distribution is intended (for example, pc-linux-i686
-   or winx64).
-
-   To install MySQL from a compressed tar file binary distribution,
-   your system must have GNU gunzip to uncompress the distribution
-   and a reasonable tar to unpack it. If your tar program supports
-   the z option, it can both uncompress and unpack the file.
-
-   GNU tar is known to work. The standard tar provided with some
-   operating systems is not able to unpack the long file names in the
-   MySQL distribution. You should download and install GNU tar, or if
-   available, use a preinstalled version of GNU tar. Usually this is
-   available as gnutar, gtar, or as tar within a GNU or Free Software
-   directory, such as /usr/sfw/bin or /usr/local/bin. GNU tar is
-   available from http://www.gnu.org/software/tar/.
-   Warning
-
-   If you have previously installed MySQL using your operating system
-   native package management system, such as yum or apt-get, you may
-   experience problems installing using a native binary. Make sure
-   your previous MySQL previous installation has been removed
-   entirely (using your package management system), and that any
-   additional files, such as old versions of your data files, have
-   also been removed. You should also check the existence of
-   configuration files such as /etc/my.cnf or the /etc/mysql
-   directory have been deleted.
-
-   If you run into problems and need to file a bug report, please use
-   the instructions in Section 1.7, "How to Report Bugs or Problems."
-
-   On Unix, to install a compressed tar file binary distribution,
-   unpack it at the installation location you choose (typically
-   /usr/local/mysql). This creates the directories shown in the
-   following table.
-
-   Table 2.2. MySQL Installation Layout for Generic Unix/Linux Binary
-   Package
-   Directory Contents of Directory
-   bin Client programs and the mysqld server
-   data Log files, databases
-   docs Manual in Info format
-   man Unix manual pages
-   include Include (header) files
-   lib Libraries
-   scripts mysql_install_db
-   share Miscellaneous support files, including error messages,
-   sample configuration files, SQL for database installation
-   sql-bench Benchmarks
-
-   Debug versions of the mysqld binary are available as mysqld-debug.
-   To compile your own debug version of MySQL from a source
-   distribution, use the appropriate configuration options to enable
-   debugging support. For more information on compiling from source,
-   see Section 2.9, "Installing MySQL from Source."
-
-   To install and use a MySQL binary distribution, the basic command
-   sequence looks like this:
-shell> groupadd mysql
-shell> useradd -r -g mysql mysql
-shell> cd /usr/local
-shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
-shell> ln -s full-path-to-mysql-VERSION-OS mysql
-shell> cd mysql
-shell> chown -R mysql .
-shell> chgrp -R mysql .
-shell> scripts/mysql_install_db --user=mysql
-shell> chown -R root .
-shell> chown -R mysql data
-# Next command is optional
-shell> cp support-files/my-medium.cnf /etc/my.cnf
-shell> bin/mysqld_safe --user=mysql &
-# Next command is optional
-shell> cp support-files/mysql.server /etc/init.d/mysql.server
-
-   A more detailed version of the preceding description for
-   installing a binary distribution follows.
-   Note
-
-   This procedure assumes that you have root (administrator) access
-   to your system. Alternatively, you can prefix each command using
-   the sudo (Linux) or pfexec (OpenSolaris) command.
-
-   The procedure does not set up any passwords for MySQL accounts.
-   After following the procedure, proceed to Section 2.10,
-   "Postinstallation Setup and Testing."
-
-Create a mysql User and Group
-
-   If your system does not already have a user and group for mysqld
-   to run as, you may need to create one. The following commands add
-   the mysql group and the mysql user. You might want to call the
-   user and group something else instead of mysql. If so, substitute
-   the appropriate name in the following instructions. The syntax for
-   useradd and groupadd may differ slightly on different versions of
-   Unix, or they may have different names such as adduser and
-   addgroup.
-shell> groupadd mysql
-shell> useradd -r -g mysql mysql
-
-   Note
-
-   Because the user is required only for ownership purposes, not
-   login purposes, the useradd command uses the -r option to create a
-   user that does not have login permissions to your server host.
-   Omit this option to permit logins for the user (or if your useradd
-   does not support the option).
-
-Obtain and Unpack the Distribution
-
-   Pick the directory under which you want to unpack the distribution
-   and change location into it. The example here unpacks the
-   distribution under /usr/local. The instructions, therefore, assume
-   that you have permission to create files and directories in
-   /usr/local. If that directory is protected, you must perform the
-   installation as root.
-shell> cd /usr/local
-
-   Obtain a distribution file using the instructions in Section
-   2.1.3, "How to Get MySQL." For a given release, binary
-   distributions for all platforms are built from the same MySQL
-   source distribution.
-
-   Unpack the distribution, which creates the installation directory.
-   Then create a symbolic link to that directory. tar can uncompress
-   and unpack the distribution if it has z option support:
-shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
-shell> ln -s full-path-to-mysql-VERSION-OS mysql
-
-   The tar command creates a directory named mysql-VERSION-OS. The ln
-   command makes a symbolic link to that directory. This enables you
-   to refer more easily to the installation directory as
-   /usr/local/mysql.
-
-   If your tar does not have z option support, use gunzip to unpack
-   the distribution and tar to unpack it. Replace the preceding tar
-   command with the following alternative command to uncompress and
-   extract the distribution:
-shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
-
-Perform Postinstallation Setup
-
-   The remainder of the installation process involves setting up the
-   configuration file, creating the core databases, and starting the
-   MySQL server. For instructions, see Section 2.10,
-   "Postinstallation Setup and Testing."
-   Note
-
-   The accounts that are listed in the MySQL grant tables initially
-   have no passwords. After starting the server, you should set up
-   passwords for them using the instructions in Section 2.10,
-   "Postinstallation Setup and Testing."
-
-   Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights
-   reserved. [1]Legal Notices
-
-References
-
-
-   1. file://localhost/data0/users/mysqldoc/docs-build/mysqldoc/refman-5.5/binary-installation-nolink.html#legalnotice
+You can find information about installing MySQL at
+
+  http://dev.mysql.com/doc/refman/5.5/en/installing.html
+
+The MySQL Reference Manual is also available in various formats on
+http://dev.mysql.com/doc; if you're interested in the DocBook XML
+sources go to http://dev.mysql.com/doc/index-other.html.

=== removed file 'Docs/mysql.info'
--- Docs/mysql.info	2012-03-29 22:25:05 +0000
+++ Docs/mysql.info	1970-01-01 00:00:00 +0000
@@ -1,287782 +0,0 @@
-This is manual.info, produced by makeinfo version 4.8 from manual.texi.
-
-START-INFO-DIR-ENTRY
-* mysql: (mysql).               MySQL documentation.
-END-INFO-DIR-ENTRY
-
-
-File: manual.info,  Node: Top,  Next: preface,  Prev: (dir),  Up: (dir)
-
-* Menu:
-
-* preface::                      Preface and Legal Notice
-* introduction::                 General Information
-* installing::                   Installing and Upgrading MySQL
-* tutorial::                     Tutorial
-* programs::                     MySQL Programs
-* server-administration::        MySQL Server Administration
-* backup-and-recovery::          Backup and Recovery
-* optimization::                 Optimization
-* language-structure::           Language Structure
-* globalization::                Globalization
-* data-types::                   Data Types
-* functions::                    Functions and Operators
-* sql-syntax::                   SQL Statement Syntax
-* storage-engines::              Storage Engines
-* ha-overview::                  High Availability and Scalability
-* replication::                  Replication
-* mysql-cluster::                MySQL Cluster NDB 7.2
-* partitioning::                 Partitioning
-* stored-programs-views::        Stored Programs and Views
-* information-schema::           `INFORMATION_SCHEMA' Tables
-* performance-schema::           MySQL Performance Schema
-* connectors-apis::              Connectors and APIs
-* extending-mysql::              Extending MySQL
-* mysql-enterprise-monitor::     MySQL Enterprise Monitor
-* mysql-enterprise-backup::      MySQL Enterprise Backup
-* workbench::                    MySQL Workbench
-* licenses-third-party::         Licenses for Third-Party Components
-* faqs::                         MySQL 5.5 Frequently Asked Questions
-* error-handling::               Errors, Error Codes, and Common Problems
-* news::                         MySQL Change History
-* restrictions::                 Restrictions and Limits
-* glossary::                     MySQL Glossary
-
-
-File: manual.info,  Node: preface,  Next: introduction,  Prev: Top,  Up: Top
-
-1 Preface and Legal Notice
-**************************
-
-This is the Reference Manual for the MySQL Database System, version
-5.5, through release 5.5.23. Differences between minor versions of
-MySQL 5.5 are noted in the present text with reference to release
-numbers (5.5.X). For license information, see the Legal Notice. This
-product may contain third-party code. For license information on
-third-party code, see *Note licenses-third-party::.
-
-This manual is not intended for use with older versions of the MySQL
-software due to the many functional and other differences between MySQL
-5.5 and previous versions. If you are using an earlier release of the
-MySQL software, please refer to the appropriate manual. For example,
-`MySQL 5.1 Reference Manual' (http://dev.mysql.com/doc/refman/5.1/en/),
-covers the 5.1 series of MySQL software releases.
-
-If you are using MySQL 5.6, please refer to the `MySQL 5.6 Reference
-Manual' (http://dev.mysql.com/doc/refman/5.6/en/).
-
-*Legal Notice*
-
-Copyright (C) 1997, 2012, Oracle and/or its affiliates. All rights
-reserved.
-
-This software and related documentation are provided under a license
-agreement containing restrictions on use and disclosure and are
-protected by intellectual property laws. Except as expressly permitted
-in your license agreement or allowed by law, you may not use, copy,
-reproduce, translate, broadcast, modify, license, transmit, distribute,
-exhibit, perform, publish, or display any part, in any form, or by any
-means. Reverse engineering, disassembly, or decompilation of this
-software, unless required by law for interoperability, is prohibited.
-
-The information contained herein is subject to change without notice
-and is not warranted to be error-free. If you find any errors, please
-report them to us in writing.
-
-If this software or related documentation is delivered to the U.S.
-Government or anyone licensing it on behalf of the U.S. Government, the
-following notice is applicable:
-
-U.S. GOVERNMENT RIGHTS Programs, software, databases, and related
-documentation and technical data delivered to U.S. Government customers
-are "commercial computer software" or "commercial technical data"
-pursuant to the applicable Federal Acquisition Regulation and
-agency-specific supplemental regulations. As such, the use,
-duplication, disclosure, modification, and adaptation shall be subject
-to the restrictions and license terms set forth in the applicable
-Government contract, and, to the extent applicable by the terms of the
-Government contract, the additional rights set forth in FAR 52.227-19,
-Commercial Computer Software License (December 2007).  Oracle USA,
-Inc., 500 Oracle Parkway, Redwood City, CA 94065.
-
-This software is developed for general use in a variety of information
-management applications. It is not developed or intended for use in any
-inherently dangerous applications, including applications which may
-create a risk of personal injury. If you use this software in dangerous
-applications, then you shall be responsible to take all appropriate
-fail-safe, backup, redundancy, and other measures to ensure the safe
-use of this software. Oracle Corporation and its affiliates disclaim
-any liability for any damages caused by use of this software in
-dangerous applications.
-
-Oracle is a registered trademark of Oracle Corporation and/or its
-affiliates. MySQL is a trademark of Oracle Corporation and/or its
-affiliates, and shall not be used without Oracle's express written
-authorization. Other names may be trademarks of their respective owners.
-
-This software and documentation may provide access to or information on
-content, products, and services from third parties. Oracle Corporation
-and its affiliates are not responsible for and expressly disclaim all
-warranties of any kind with respect to third-party content, products,
-and services. Oracle Corporation and its affiliates will not be
-responsible for any loss, costs, or damages incurred due to your access
-to or use of third-party content, products, or services.
-
-This document in any form, software or printed matter, contains
-proprietary information that is the exclusive property of Oracle.  Your
-access to and use of this material is subject to the terms and
-conditions of your Oracle Software License and Service Agreement, which
-has been executed and with which you agree to comply. This document and
-information contained herein may not be disclosed, copied, reproduced,
-or distributed to anyone outside Oracle without prior written consent
-of Oracle or as specifically provided below.  This document is not part
-of your license agreement nor can it be incorporated into any
-contractual agreement with Oracle or its subsidiaries or affiliates.
-
-This documentation is NOT distributed under a GPL license. Use of this
-documentation is subject to the following terms:
-
-You may create a printed copy of this documentation solely for your own
-personal use. Conversion to other formats is allowed as long as the
-actual content is not altered or edited in any way. You shall not
-publish or distribute this documentation in any form or on any media,
-except if you distribute the documentation in a manner similar to how
-Oracle disseminates it (that is, electronically for download on a Web
-site with the software) or on a CD-ROM or similar medium, provided
-however that the documentation is disseminated together with the
-software on the same medium. Any other use, such as any dissemination
-of printed copies or use of this documentation, in whole or in part, in
-another publication, requires the prior written consent from an
-authorized representative of Oracle. Oracle and/or its affiliates
-reserve any and all rights to this documentation not expressly granted
-above.
-
-For more information on the terms of this license, or for details on
-how the MySQL documentation is built and produced, please visit MySQL
-Contact & Questions (http://dev.mysql.com/contact/).
-
-For additional licensing information, including licenses for
-third-party libraries used by MySQL products, see *Note Top::.
-
-For help with using MySQL, please visit either the MySQL Forums
-(http://forums.mysql.com) or MySQL Mailing Lists
-(http://lists.mysql.com) where you can discuss your issues with other
-MySQL users.
-
-For additional documentation on MySQL products, including translations
-of the documentation into other languages, and downloadable versions in
-variety of formats, including HTML and PDF formats, see the MySQL
-Documentation Library (http://dev.mysql.com/doc).
-
-
-File: manual.info,  Node: introduction,  Next: installing,  Prev: preface,  Up: Top
-
-2 General Information
-*********************
-
-* Menu:
-
-* manual-info::                  About This Manual
-* manual-conventions::           Typographical and Syntax Conventions
-* what-is::                      Overview of the MySQL Database Management System
-* mysql-nutshell::               What Is New in MySQL 5.5
-* development-history::          MySQL Development History
-* information-sources::          MySQL Information Sources
-* bug-reports::                  How to Report Bugs or Problems
-* compatibility::                MySQL Standards Compliance
-* credits::                      Credits
-
-The MySQL(tm) software delivers a very fast, multi-threaded,
-multi-user, and robust SQL (Structured Query Language) database server.
-MySQL Server is intended for mission-critical, heavy-load production
-systems as well as for embedding into mass-deployed software. Oracle is
-a registered trademark of Oracle Corporation and/or its affiliates.
-MySQL is a trademark of Oracle Corporation and/or its affiliates, and
-shall not be used by Customer without Oracle's express written
-authorization. Other names may be trademarks of their respective owners.
-
-The MySQL software is Dual Licensed. Users can choose to use the MySQL
-software as an Open Source product under the terms of the GNU General
-Public License (`http://www.fsf.org/licenses/') or can purchase a
-standard commercial license from Oracle. See
-http://www.mysql.com/company/legal/licensing/ for more information on
-our licensing policies.
-
-The following list describes some sections of particular interest in
-this manual:
-
-   * For a discussion of MySQL Database Server capabilities, see *Note
-     features::.
-
-   * For descriptions of new MySQL features, see *Note mysql-nutshell::.
-
-   * For installation instructions, see *Note installing::.  For
-     information about upgrading MySQL, see *Note upgrading::, and the
-     change notes at *Note news::.
-
-   * For a tutorial introduction to the MySQL Database Server, see
-     *Note tutorial::.
-
-   * For information about configuring and administering MySQL Server,
-     see *Note server-administration::.
-
-   * For information about setting up replication servers, see *Note
-     replication::.
-
-   * For answers to a number of questions that are often asked
-     concerning the MySQL Database Server and its capabilities, see
-     *Note faqs::.
-
-   * For a history of new features and bugfixes, see *Note news::.
-
-*Important*:
-
-To report errors (often called `bugs'), please use the instructions at
-*Note bug-reports::.
-
-If you have found a sensitive security bug in MySQL Server, please let
-us know immediately by sending an email message to <security@mysql.com>.
-
-
-File: manual.info,  Node: manual-info,  Next: manual-conventions,  Prev: introduction,  Up: introduction
-
-2.1 About This Manual
-=====================
-
-This is the Reference Manual for the MySQL Database System, version
-5.5, through release 5.5.23.  Differences between minor versions of
-MySQL 5.5 are noted in the present text with reference to release
-numbers (5.5.X).
-
-This manual is not intended for use with older versions of the MySQL
-software due to the many functional and other differences between MySQL
-5.5 and previous versions. If you are using an earlier release of the
-MySQL software, please refer to the appropriate manual. For example,
-`MySQL 5.1 Reference Manual' (http://dev.mysql.com/doc/refman/5.1/en/),
-covers the 5.1 series of MySQL software releases.
-
-If you are using MySQL 5.6, please refer to the `MySQL 5.6 Reference
-Manual' (http://dev.mysql.com/doc/refman/5.6/en/).
-
-Because this manual serves as a reference, it does not provide general
-instruction on SQL or relational database concepts. It also does not
-teach you how to use your operating system or command-line interpreter.
-
-The MySQL Database Software is under constant development, and the
-Reference Manual is updated frequently as well. The most recent version
-of the manual is available online in searchable form at
-`http://dev.mysql.com/doc/'. Other formats also are available there,
-including HTML, PDF, and Windows CHM versions.
-
-The Reference Manual source files are written in DocBook XML format.
-The HTML version and other formats are produced automatically,
-primarily using the DocBook XSL stylesheets. For information about
-DocBook, see `http://docbook.org/'
-
-If you have questions about using MySQL, you can ask them using our
-mailing lists or forums. See *Note mailing-lists::, and *Note forums::.
-If you have suggestions concerning additions or corrections to the
-manual itself, please send them to the
-http://www.mysql.com/company/contact/.
-
-This manual was originally written by David Axmark and Michael `Monty'
-Widenius. It is maintained by the MySQL Documentation Team, consisting
-of Paul DuBois, Stefan Hinz, Philip Olson, John Russell, and Jon
-Stephens.
-
-
-File: manual.info,  Node: manual-conventions,  Next: what-is,  Prev: manual-info,  Up: introduction
-
-2.2 Typographical and Syntax Conventions
-========================================
-
-This manual uses certain typographical conventions:
-
-   * `Text in this style' is used for SQL statements; database, table,
-     and column names; program listings and source code; and
-     environment variables. Example: `To reload the grant tables, use
-     the *Note `FLUSH PRIVILEGES': flush. statement.'
-
-   * Text in this style indicates input that you type in examples.
-
-   * `Text in this style' indicates the names of executable programs
-     and scripts, examples being *Note `mysql': mysql. (the MySQL
-     command line client program) and *Note `mysqld': mysqld. (the
-     MySQL server executable).
-
-   * TEXT IN THIS STYLE is used for variable input for which you should
-     substitute a value of your own choosing.
-
-   * _Text in this style_ is used for emphasis.
-
-   * *Text in this style* is used in table headings and to convey
-     especially strong emphasis.
-
-   * `Text in this style' is used to indicate a program option that
-     affects how the program is executed, or that supplies information
-     that is needed for the program to function in a certain way.
-     _Example_: `The `--host' option (short form `-h') tells the *Note
-     `mysql': mysql. client program the hostname or IP address of the
-     MySQL server that it should connect to'.
-
-   * File names and directory names are written like this: `The global
-     `my.cnf' file is located in the `/etc' directory.'
-
-   * Character sequences are written like this: `To specify a wildcard,
-     use the ``%'' character.'
-
-When commands are shown that are meant to be executed from within a
-particular program, the prompt shown preceding the command indicates
-which command to use. For example, `shell>' indicates a command that
-you execute from your login shell, `root-shell>' is similar but should
-be executed as `root', and `mysql>' indicates a statement that you
-execute from the *Note `mysql': mysql. client program:
-
-     shell> type a shell command here
-     root-shell> type a shell command as ROOT here
-     mysql> type a mysql statement here
-
-In some areas different systems may be distinguished from each other to
-show that commands should be executed in two different environments.
-For example, while working with replication the commands might be
-prefixed with `master' and `slave':
-
-     master> type a mysql command on the replication master here
-     slave> type a mysql command on the replication slave here
-
-The `shell' is your command interpreter. On Unix, this is typically a
-program such as `sh', `csh', or `bash'. On Windows, the equivalent
-program is `command.com' or `cmd.exe', typically run in a console
-window.
-
-When you enter a command or statement shown in an example, do not type
-the prompt shown in the example.
-
-Database, table, and column names must often be substituted into
-statements. To indicate that such substitution is necessary, this
-manual uses DB_NAME, TBL_NAME, and COL_NAME. For example, you might see
-a statement like this:
-
-     mysql> SELECT COL_NAME FROM DB_NAME.TBL_NAME;
-
-This means that if you were to enter a similar statement, you would
-supply your own database, table, and column names, perhaps like this:
-
-     mysql> SELECT author_name FROM biblio_db.author_list;
-
-SQL keywords are not case sensitive and may be written in any
-lettercase. This manual uses uppercase.
-
-In syntax descriptions, square brackets (``['' and ``]'') indicate
-optional words or clauses. For example, in the following statement, `IF
-EXISTS' is optional:
-
-     DROP TABLE [IF EXISTS] TBL_NAME
-
-When a syntax element consists of a number of alternatives, the
-alternatives are separated by vertical bars (``|''). When one member
-from a set of choices _may_ be chosen, the alternatives are listed
-within square brackets (``['' and ``]''):
-
-     TRIM([[BOTH | LEADING | TRAILING] [REMSTR] FROM] STR)
-
-When one member from a set of choices _must_ be chosen, the
-alternatives are listed within braces (``{'' and ``}''):
-
-     {DESCRIBE | DESC} TBL_NAME [COL_NAME | WILD]
-
-An ellipsis (`...') indicates the omission of a section of a statement,
-typically to provide a shorter version of more complex syntax. For
-example, *Note `SELECT ... INTO OUTFILE': select. is shorthand for the
-form of *Note `SELECT': select. statement that has an `INTO OUTFILE'
-clause following other parts of the statement.
-
-An ellipsis can also indicate that the preceding syntax element of a
-statement may be repeated. In the following example, multiple
-RESET_OPTION values may be given, with each of those after the first
-preceded by commas:
-
-     RESET RESET_OPTION [,RESET_OPTION] ...
-
-Commands for setting shell variables are shown using Bourne shell
-syntax. For example, the sequence to set the `CC' environment variable
-and run the `configure' command looks like this in Bourne shell syntax:
-
-     shell> CC=gcc ./configure
-
-If you are using `csh' or `tcsh', you must issue commands somewhat
-differently:
-
-     shell> setenv CC gcc
-     shell> ./configure
-
-
-File: manual.info,  Node: what-is,  Next: mysql-nutshell,  Prev: manual-conventions,  Up: introduction
-
-2.3 Overview of the MySQL Database Management System
-====================================================
-
-* Menu:
-
-* what-is-mysql::                What is MySQL?
-* history::                      History of MySQL
-* features::                     The Main Features of MySQL
-
-
-File: manual.info,  Node: what-is-mysql,  Next: history,  Prev: what-is,  Up: what-is
-
-2.3.1 What is MySQL?
---------------------
-
-MySQL, the most popular Open Source SQL database management system, is
-developed, distributed, and supported by Oracle Corporation.
-
-The MySQL Web site (http://www.mysql.com/) provides the latest
-information about MySQL software.
-
-   * MySQL is a database management system.
-
-     A database is a structured collection of data. It may be anything
-     from a simple shopping list to a picture gallery or the vast
-     amounts of information in a corporate network. To add, access, and
-     process data stored in a computer database, you need a database
-     management system such as MySQL Server.  Since computers are very
-     good at handling large amounts of data, database management
-     systems play a central role in computing, as standalone utilities,
-     or as parts of other applications.
-
-   * MySQL is a relational database management system.
-
-     A relational database stores data in separate tables rather than
-     putting all the data in one big storeroom. This adds speed and
-     flexibility. The SQL part of `MySQL' stands for `Structured Query
-     Language.' SQL is the most common standardized language used to
-     access databases and is defined by the ANSI/ISO SQL Standard. The
-     SQL standard has been evolving since 1986 and several versions
-     exist. In this manual, `SQL-92' refers to the standard released in
-     1992, `SQL:1999' refers to the standard released in 1999, and
-     `SQL:2003' refers to the current version of the standard. We use
-     the phrase `the SQL standard' to mean the current version of the
-     SQL Standard at any time.
-
-   * MySQL software is Open Source.
-
-     Open Source means that it is possible for anyone to use and modify
-     the software. Anybody can download the MySQL software from the
-     Internet and use it without paying anything. If you wish, you may
-     study the source code and change it to suit your needs. The MySQL
-     software uses the GPL (GNU General Public License),
-     `http://www.fsf.org/licenses/', to define what you may and may not
-     do with the software in different situations. If you feel
-     uncomfortable with the GPL or need to embed MySQL code into a
-     commercial application, you can buy a commercially licensed
-     version from us. See the MySQL Licensing Overview for more
-     information (http://www.mysql.com/company/legal/licensing/).
-
-   * The MySQL Database Server is very fast, reliable, and easy to use.
-
-     If that is what you are looking for, you should give it a try.
-     MySQL Server also has a practical set of features developed in
-     close cooperation with our users. You can find a performance
-     comparison of MySQL Server with other database managers on our
-     benchmark page. See *Note mysql-benchmarks::.
-
-     MySQL Server was originally developed to handle large databases
-     much faster than existing solutions and has been successfully used
-     in highly demanding production environments for several years.
-     Although under constant development, MySQL Server today offers a
-     rich and useful set of functions. Its connectivity, speed, and
-     security make MySQL Server highly suited for accessing databases
-     on the Internet.
-
-   * MySQL Server works in client/server or embedded systems.
-
-     The MySQL Database Software is a client/server system that
-     consists of a multi-threaded SQL server that supports different
-     backends, several different client programs and libraries,
-     administrative tools, and a wide range of application programming
-     interfaces (APIs).
-
-     We also provide MySQL Server as an embedded multi-threaded library
-     that you can link into your application to get a smaller, faster,
-     easier-to-manage standalone product.
-
-   * A large amount of contributed MySQL software is available.
-
-     It is very likely that your favorite application or language
-     supports the MySQL Database Server.
-
-The official way to pronounce `MySQL' is `My Ess Que Ell' (not `my
-sequel'), but we do not mind if you pronounce it as `my sequel' or in
-some other localized way.
-
-
-File: manual.info,  Node: history,  Next: features,  Prev: what-is-mysql,  Up: what-is
-
-2.3.2 History of MySQL
-----------------------
-
-We started out with the intention of using the `mSQL' database system
-to connect to our tables using our own fast low-level (ISAM) routines.
-However, after some testing, we came to the conclusion that `mSQL' was
-not fast enough or flexible enough for our needs. This resulted in a
-new SQL interface to our database but with almost the same API
-interface as `mSQL'. This API was designed to enable third-party code
-that was written for use with `mSQL' to be ported easily for use with
-MySQL.
-
-MySQL is named after co-founder Monty Widenius's daughter, My.
-
-The name of the MySQL Dolphin (our logo) is `Sakila,' which was chosen
-from a huge list of names suggested by users in our `Name the Dolphin'
-contest. The winning name was submitted by Ambrose Twebaze, an Open
-Source software developer from Swaziland, Africa. According to Ambrose,
-the feminine name Sakila has its roots in SiSwati, the local language
-of Swaziland.  Sakila is also the name of a town in Arusha, Tanzania,
-near Ambrose's country of origin, Uganda.
-
-
-File: manual.info,  Node: features,  Prev: history,  Up: what-is
-
-2.3.3 The Main Features of MySQL
---------------------------------
-
-This section describes some of the important characteristics of the
-MySQL Database Software. See also *Note development-history::. In most
-respects, the roadmap applies to all versions of MySQL. For information
-about features as they are introduced into MySQL on a series-specific
-basis, see the `In a Nutshell' section of the appropriate Manual:
-
-   * MySQL 5.0: MySQL 5.0 in a Nutshell
-     (http://dev.mysql.com/doc/refman/5.0/en/mysql-nutshell.html)
-
-   * MySQL 5.1: MySQL 5.1 in a Nutshell
-     (http://dev.mysql.com/doc/refman/5.1/en/mysql-nutshell.html)
-
-   * MySQL 5.5: *Note MySQL 5.5 in a Nutshell: mysql-nutshell.
-
-Internals and Portability:
-
-   * Written in C and C++.
-
-   * Tested with a broad range of different compilers.
-
-   * Works on many different platforms. See *Note supported-os::.
-
-   * For portability, uses `CMake' in MySQL 5.5 and up. Previous series
-     use GNU Automake, Autoconf, and Libtool.
-
-   * Tested with Purify (a commercial memory leakage detector) as well
-     as with Valgrind, a GPL tool
-     (`http://developer.kde.org/~sewardj/').
-
-   * Uses multi-layered server design with independent modules.
-
-   * Designed to be fully multi-threaded using kernel threads, to
-     easily use multiple CPUs if they are available.
-
-   * Provides transactional and nontransactional storage engines.
-
-   * Uses very fast B-tree disk tables (`MyISAM') with index
-     compression.
-
-   * Designed to make it relatively easy to add other storage engines.
-     This is useful if you want to provide an SQL interface for an
-     in-house database.
-
-   * Uses a very fast thread-based memory allocation system.
-
-   * Executes very fast joins using an optimized nested-loop join.
-
-   * Implements in-memory hash tables, which are used as temporary
-     tables.
-
-   * Implements SQL functions using a highly optimized class library
-     that should be as fast as possible. Usually there is no memory
-     allocation at all after query initialization.
-
-   * Provides the server as a separate program for use in a
-     client/server networked environment, and as a library that can be
-     embedded (linked) into standalone applications. Such applications
-     can be used in isolation or in environments where no network is
-     available.
-
-Data Types:
-
-   * Many data types: signed/unsigned integers 1, 2, 3, 4, and 8 bytes
-     long, *Note `FLOAT': numeric-types, *Note `DOUBLE': numeric-types,
-     *Note `CHAR': char, *Note `VARCHAR': char, *Note `BINARY':
-     binary-varbinary, *Note `VARBINARY': binary-varbinary, *Note
-     `TEXT': blob, *Note `BLOB': blob, *Note `DATE': datetime, *Note
-     `TIME': time, *Note `DATETIME': datetime, *Note `TIMESTAMP':
-     datetime, *Note `YEAR': year, *Note `SET': set, *Note `ENUM':
-     enum, and OpenGIS spatial types. See *Note data-types::.
-
-   * Fixed-length and variable-length string types.
-
-Statements and Functions:
-
-   * Full operator and function support in the *Note `SELECT': select.
-     list and `WHERE' clause of queries. For example:
-
-          mysql> SELECT CONCAT(first_name, ' ', last_name)
-              -> FROM citizen
-              -> WHERE income/dependents > 10000 AND age > 30;
-
-   * Full support for SQL `GROUP BY' and `ORDER BY' clauses. Support
-     for group functions (`COUNT()', `AVG()', `STD()', `SUM()', `MAX()',
-     `MIN()', and `GROUP_CONCAT()').
-
-   * Support for `LEFT OUTER JOIN' and `RIGHT OUTER JOIN' with both
-     standard SQL and ODBC syntax.
-
-   * Support for aliases on tables and columns as required by standard
-     SQL.
-
-   * Support for *Note `DELETE': delete, *Note `INSERT': insert, *Note
-     `REPLACE': replace, and *Note `UPDATE': update. to return the
-     number of rows that were changed (affected), or to return the
-     number of rows matched instead by setting a flag when connecting
-     to the server.
-
-   * Support for MySQL-specific *Note `SHOW': show.  statements that
-     retrieve information about databases, storage engines, tables, and
-     indexes. MySQL 5.0 adds support for the `INFORMATION_SCHEMA'
-     database, implemented according to standard SQL.
-
-   * An *Note `EXPLAIN': explain. statement to show how the optimizer
-     resolves a query.
-
-   * Independence of function names from table or column names. For
-     example, `ABS' is a valid column name. The only restriction is
-     that for a function call, no spaces are permitted between the
-     function name and the ``('' that follows it. See *Note
-     reserved-words::.
-
-   * You can refer to tables from different databases in the same
-     statement.
-
-Security:
-
-   * A privilege and password system that is very flexible and secure,
-     and that enables host-based verification.
-
-   * Password security by encryption of all password traffic when you
-     connect to a server.
-
-Scalability and Limits:
-
-   * Support for large databases. We use MySQL Server with databases
-     that contain 50 million records. We also know of users who use
-     MySQL Server with 200,000 tables and about 5,000,000,000 rows.
-
-   * Support for up to 64 indexes per table (32 before MySQL 4.1.2).
-     Each index may consist of 1 to 16 columns or parts of columns. The
-     maximum index width is 1000 bytes (767 for `InnoDB'); before MySQL
-     4.1.2, the limit is 500 bytes. An index may use a prefix of a
-     column for *Note `CHAR': char, *Note `VARCHAR': char, *Note
-     `BLOB': blob, or *Note `TEXT': blob. column types.
-
-Connectivity:
-
-   * Clients can connect to MySQL Server using several protocols:
-
-        * Clients can connect using TCP/IP sockets on any platform.
-
-        * On Windows systems in the NT family (NT, 2000, XP, 2003, or
-          Vista), clients can connect using named pipes if the server
-          is started with the `--enable-named-pipe' option.  In MySQL
-          4.1 and higher, Windows servers also support shared-memory
-          connections if started with the `--shared-memory' option.
-          Clients can connect through shared memory by using the
-          `--protocol=memory' option.
-
-        * On Unix systems, clients can connect using Unix domain socket
-          files.
-
-   * MySQL client programs can be written in many languages. A client
-     library written in C is available for clients written in C or C++,
-     or for any language that provides C bindings.
-
-   * APIs for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl
-     are available, enabling MySQL clients to be written in many
-     languages. See *Note connectors-apis::.
-
-   * The Connector/ODBC (MyODBC) interface provides MySQL support for
-     client programs that use ODBC (Open Database Connectivity)
-     connections. For example, you can use MS Access to connect to your
-     MySQL server. Clients can be run on Windows or Unix.
-     Connector/ODBC source is available. All ODBC 2.5 functions are
-     supported, as are many others. See *Note connector-odbc::.
-
-   * The Connector/J interface provides MySQL support for Java client
-     programs that use JDBC connections. Clients can be run on Windows
-     or Unix. Connector/J source is available. See *Note connector-j::.
-
-   * MySQL Connector/Net enables developers to easily create .NET
-     applications that require secure, high-performance data
-     connectivity with MySQL. It implements the required ADO.NET
-     interfaces and integrates into ADO.NET aware tools. Developers can
-     build applications using their choice of .NET languages.  MySQL
-     Connector/Net is a fully managed ADO.NET driver written in 100%
-     pure C#. See *Note connector-net::.
-
-Localization:
-
-   * The server can provide error messages to clients in many
-     languages. See *Note error-message-language::.
-
-   * Full support for several different character sets, including
-     `latin1' (cp1252), `german', `big5', `ujis', and more.  For
-     example, the Scandinavian characters ``aa'', ``a"'' and ``o"'' are
-     permitted in table and column names. Unicode support is available
-     as of MySQL 4.1.
-
-   * All data is saved in the chosen character set.
-
-   * Sorting and comparisons are done according to the chosen character
-     set and collation (using `latin1' and Swedish collation by
-     default). It is possible to change this when the MySQL server is
-     started. To see an example of very advanced sorting, look at the
-     Czech sorting code. MySQL Server supports many different character
-     sets that can be specified at compile time and runtime.
-
-   * As of MySQL 4.1, the server time zone can be changed dynamically,
-     and individual clients can specify their own time zone. *Note
-     time-zone-support::.
-
-Clients and Tools:
-
-   * MySQL includes several client and utility programs. These include
-     both command-line programs such as *Note `mysqldump': mysqldump.
-     and *Note `mysqladmin': mysqladmin, and graphical programs such as
-     MySQL Administrator and MySQL Query Browser.
-
-   * MySQL Server has built-in support for SQL statements to check,
-     optimize, and repair tables. These statements are available from
-     the command line through the *Note `mysqlcheck': mysqlcheck.
-     client. MySQL also includes *Note `myisamchk': myisamchk, a very
-     fast command-line utility for performing these operations on
-     `MyISAM' tables. See *Note programs::.
-
-   * MySQL programs can be invoked with the `--help' or `-?' option to
-     obtain online assistance.
-
-
-File: manual.info,  Node: mysql-nutshell,  Next: development-history,  Prev: what-is,  Up: introduction
-
-2.4 What Is New in MySQL 5.5
-============================
-
-* Menu:
-
-* smp-improvements::             Scalability Improvements
-* innodb-io-changes::            `InnoDB' I/O Subsystem Changes
-* monitoring-improvements::      Diagnostic and Monitoring Capabilities
-* solaris-enhancements::         Enhanced Solaris Support
-
-This section summarizes what has been added to and removed from MySQL
-5.5.
-
-* Added Features *
-
-The following features have been added to MySQL 5.5:
-
-   * Thread pooling
-
-     The default thread-handling model in MySQL Server executes
-     statements using one thread per client connection. As more clients
-     connect to the server and execute statements, overall performance
-     degrades. As of MySQL 5.5.16, commercial distributions of MySQL
-     include a thread pool plugin that provides an alternative
-     thread-handling model designed to reduce overhead and improve
-     performance. The plugin implements a thread pool that increases
-     server performance by efficiently managing statement execution
-     threads for large numbers of client connections. For more
-     information, see *Note thread-pool-plugin::.
-
-   * Pluggable authentication
-
-     MySQL authentication supports two new capabilities, pluggable
-     authentication and proxy users. With pluggable authentication, the
-     server can use plugins to authenticate incoming client
-     connections, and clients can load an authentication plugin that
-     interacts properly with the corresponding server plugin. This
-     capability enables clients to connect to the MySQL server with
-     credentials that are appropriate for authentication methods other
-     than the built-in MySQL authentication based on native MySQL
-     passwords stored in the `mysql.user' table.  For example, plugins
-     can be created to use external authentication methods such as
-     LDAP, Kerberos, PAM, or Windows login IDs. Proxy user capability
-     enables a client who connects and authenticates as one user to be
-     treated, for purposes of access control while connected, as having
-     the privileges of a different user. In effect, one user
-     impersonates another. Proxy capability depends on pluggable
-     authentication because it is based on having an authentication
-     plugin return to the server the user name that the connecting user
-     impersonates. See *Note pluggable-authentication::, and *Note
-     proxy-users::.
-
-     As of MySQL 5.5.16, commercial distributions of MySQL include two
-     plugins that enable MySQL Server to use external authentication
-     methods to authenticate MySQL users:
-
-        * PAM (Pluggable Authentication Modules) enables a system to
-          access various kinds of authentication methods through a
-          standard interface. A PAM authentication plugin enables MySQL
-          Server to use PAM to authenticate MySQL users.
-
-        * Distributions of MySQL for Windows include an authentication
-          plugin that enables MySQL Server to use native Windows
-          services to authenticate client connections. Users who have
-          logged in to Windows can connect from MySQL client programs
-          to the server based on the information in their environment
-          without specifying an additional password.
-
-     These authentication plugins enable MySQL Server to accept
-     connections from users defined outside the MySQL grant tables.
-     They also support the MySQL proxy-user capability. Each plugin can
-     return to MySQL a user name different from the login user, which
-     means that the plugin can return the MySQL user that defines the
-     privileges the externally authenticated user should have.
-
-     For more information, see *Note pam-authentication-plugin::, and
-     *Note windows-authentication-plugin::.
-
-   * Multi-core scalability
-
-     Scalability on multi-core CPUs is improved. The trend in hardware
-     development now is toward more cores rather than continued
-     increases in CPU clock speeds, which renders `wait until CPUs get
-     faster' a nonviable means of improving database performance.
-     Instead, it is necessary to make better use of multiple cores to
-     maximally exploit the processing cycles they make available. MySQL
-     5.5 takes advantage of features of SMP systems and tries to
-     eliminate bottlenecks in MySQL architecture that hinder full use
-     of multiple cores. The focus has been on *Note `InnoDB':
-     innodb-storage-engine, especially locking and memory management.
-     See *Note smp-improvements::.
-
-   * `InnoDB' I/O subsystem
-
-     *Note `InnoDB': innodb-storage-engine. I/O subsystem changes
-     enable more effective use of available I/O capacity. See *Note
-     innodb-io-changes::.
-
-   * Diagnostic improvements
-
-     There is better access to execution and performance information.
-     Diagnostic improvements include Performance Schema (a feature for
-     monitoring MySQL Server execution at a low level), DTrace probes,
-     expanded *Note `SHOW ENGINE INNODB STATUS': show-engine. output,
-     Debug Sync, and a new status variable. See *Note
-     monitoring-improvements::.
-
-   * Solaris
-
-     Several modifications improve operation of MySQL Server on
-     Solaris. See *Note solaris-enhancements::.
-
-   * Default storage engine
-
-     The default storage engine for new tables is `InnoDB' rather than
-     `MyISAM'. See *Note innodb-default-se::.
-
-   * MySQL Cluster
-
-     MySQL Cluster is released as a separate product, with new
-     development for version 7.2 of the *Note `NDB': mysql-cluster.
-     storage engine being based on MySQL 5.5. Clustering support is not
-     available in mainline MySQL Server 5.5 releases. For more
-     information about MySQL Cluster NDB 7.2, see *Note mysql-cluster::.
-
-     MySQL Cluster releases are identified by a 3-part NDB version
-     number. Currently, MySQL Cluster NDB 7.1 is the most recent GA
-     release series. MySQL Cluster NDB 6.3 and MySQL Cluster NDB 7.0
-     are also still available. These versions of MySQL Cluster are
-     based on MySQL Server 5.1 and documented in the `MySQL 5.1
-     Manual'. See MySQL Cluster NDB 6.X/7.X
-     (http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster.html).
-
-   * Semisynchronous replication
-
-     A commit performed on the master side blocks before returning to
-     the session that performed the transaction until at least one
-     slave acknowledges that it has received and logged the events for
-     the transaction. Semisynchronous replication is implemented
-     through an optional plugin component. See *Note
-     replication-semisync::
-
-   * Unicode
-
-     Support for supplementary Unicode characters; that is, characters
-     outside the Basic Multilingual Plane (BMP). These new Unicode
-     character sets include supplementary characters: `utf16', `utf32',
-     and `utf8mb4'. See *Note charset-unicode::.
-
-   * Partitioning
-
-     Enhancements to table partitioning:
-
-        * Two new types of user-defined partitioning are supported:
-          `RANGE COLUMNS' partitioning is an extension to `RANGE'
-          partitioning; `LIST COLUMNS' partitioning is an extension to
-          `LIST' partitioning. Each of these extensions provides two
-          enhancements to MySQL partitioning capabilities:
-
-             * It is possible to define partitioning ranges or lists
-               based on *Note `DATE': datetime, *Note `DATETIME':
-               datetime, or string values (such as *Note `CHAR': char.
-               or *Note `VARCHAR': char.).
-
-               You can also define ranges or lists based on multiple
-               column values when partitioning tables by `RANGE
-               COLUMNS' or `LIST COLUMNS', respectively. Such a range
-               or list may refer to up to 16 columns.
-
-             * For tables defined using these partitioning types,
-               partition pruning can now optimize queries with `WHERE'
-               conditions that use multiple comparisons between
-               (different) column values and constants, such as `a = 10
-               AND b > 5' or `a < "2005-11-25" AND b = 10 AND c = 50'.
-
-          See *Note partitioning-range::, and *Note partitioning-list::.
-
-        * It is now possible to delete all rows from one or more
-          partitions of a partitioned table using the *Note `ALTER
-          TABLE ... TRUNCATE PARTITION': alter-table. statement.
-          Executing the statement deletes rows without affecting the
-          structure of the table. The partitions named in the `TRUNCATE
-          PARTITION' clause do not have to be contiguous.
-
-        * Key caches are now supported for indexes on partitioned *Note
-          `MyISAM': myisam-storage-engine. tables, using the *Note
-          `CACHE INDEX': cache-index. and *Note `LOAD INDEX INTO
-          CACHE': load-index. statements. In addition, a key cache can
-          be defined for and loaded with indexes from an entire
-          partitioned table, or for one or more partitions. In the
-          latter case, the partitions are not required to be contiguous.
-
-        * The new `TO_SECONDS()' function converts a date or datetime
-          expression to a number of seconds since the year 0. This is a
-          general-purpose function, but is useful for partitioning.
-          You may use it in partitioning expressions, and partition
-          pruning is supported for tables defined using such
-          expressions.
-
-   * `SIGNAL' and `RESIGNAL'
-
-     Support for the SQL standard *Note `SIGNAL': signal. and *Note
-     `RESIGNAL': resignal. statements. See *Note condition-handling::.
-
-   * XML
-
-     Enhancements to XML functionality, including a new *Note `LOAD XML
-     INFILE': load-xml. statement. See *Note load-xml::.
-
-   * Build configuration
-
-     MySQL releases are now built using `CMake' rather than the GNU
-     autotools. Accordingly, the instructions for installing MySQL from
-     source have been updated to discuss how to build MySQL using
-     `CMake'.  See *Note source-installation::.
-
-     The build process is now similar enough on all platforms,
-     including Windows, that there are no longer sections dedicated to
-     notes for specific platforms.
-
-* Removed Features *
-
-The following constructs are obsolete and have been removed in MySQL
-5.5. Where alternatives are shown, applications should be updated to
-use them.
-
-   * The `language' system variable (use `lc_messages_dir' and
-     `lc_messages').
-
-   * The `log_bin_trust_routine_creators' system variable (use
-     `log_bin_trust_function_creators').
-
-   * The `myisam_max_extra_sort_file_size' system variable.
-
-   * The `record_buffer' system variable (use `read_buffer_size').
-
-   * The `sql_log_update' system variable.
-
-   * The `Innodb_buffer_pool_read_ahead_rnd' and
-     `Innodb_buffer_pool_read_ahead_seq' status variables (use
-     `Innodb_buffer_pool_read_ahead' and
-     `Innodb_buffer_pool_read_ahead_evicted').
-
-   * The `table_type' system variable (use `storage_engine').
-
-   * The `FRAC_SECOND' modifier for the `TIMESTAMPADD()' function (use
-     `MICROSECOND').
-
-   * The `TYPE' table option to specify the storage engine for *Note
-     `CREATE TABLE': create-table.  or *Note `ALTER TABLE':
-     alter-table. (use `ENGINE').
-
-   * The `SHOW TABLE TYPES' SQL statement (use *Note `SHOW ENGINES':
-     show-engines.).
-
-   * The `SHOW INNODB STATUS' and `SHOW MUTEX STATUS' SQL statements
-     (use *Note `SHOW ENGINE INNODB STATUS': show-engine. and *Note
-     `SHOW ENGINE INNODB MUTEX': show-engine.).
-
-   * The `SHOW PLUGIN' SQL statement (use *Note `SHOW PLUGINS':
-     show-plugins.).
-
-   * The `LOAD TABLE ... FROM MASTER' and `LOAD DATA FROM MASTER' SQL
-     statements (use *Note `mysqldump': mysqldump. or *Note
-     `mysqlhotcopy': mysqlhotcopy. to dump tables and *Note `mysql':
-     mysql. to reload dump files).
-
-   * The `BACKUP TABLE' and `RESTORE TABLE' SQL statements (use *Note
-     `mysqldump': mysqldump. or *Note `mysqlhotcopy': mysqlhotcopy. to
-     dump tables and *Note `mysql': mysql. to reload dump files).
-
-   * *Note `TIMESTAMP(N)': datetime.  data type: The ability to specify
-     a display width of N (use without N).
-
-   * The `--default-character-set' and `--default-collation' server
-     options (use `--character-set-server' and `--collation-server').
-
-   * The `--default-table-type' server option (use
-     `--default-storage-engine').
-
-   * The `--delay-key-write-for-all-tables' server option (use
-     `--delay-key-write=ALL').
-
-   * The `--enable-locking' and `--skip-locking' server options (use
-     `--external-locking' and `--skip-external-locking').
-
-   * The `--log-bin-trust-routine-creators' server option (use
-     `--log-bin-trust-function-creators').
-
-   * The `--log-long-format' server option.
-
-   * The `--log-update' server option.
-
-   * The `--master-XXX' server options to set replication parameters
-     (use the *Note `CHANGE MASTER TO': change-master-to. statement
-     instead): `--master-host', `--master-user', `--master-password',
-     `--master-port', `--master-connect-retry', `--master-ssl',
-     `--master-ssl-ca', `--master-ssl-capath', `--master-ssl-cert',
-     `--master-ssl-cipher', `--master-ssl-key'.
-
-   * The `--safe-show-database' server option.
-
-   * The `--skip-symlink' and `--use-symbolic-links' server options (use
-     `--skip-symbolic-links' and `--symbolic-links').
-
-   * The `--sql-bin-update-same' server option.
-
-   * The `--warnings' server option (use `--log-warnings').
-
-   * The `--no-named-commands' option for *Note `mysql': mysql. (use
-     `--skip-named-commands').
-
-   * The `--no-pager' option for *Note `mysql': mysql. (use
-     `--skip-pager').
-
-   * The `--no-tee' option for *Note `mysql': mysql. (use `--skip-tee').
-
-   * The `--position' option for *Note `mysqlbinlog': mysqlbinlog. (use
-     `--start-position').
-
-   * The `--all' option for *Note `mysqldump': mysqldump. (use
-     `--create-options').
-
-   * The `--first-slave' option for *Note `mysqldump': mysqldump. (use
-     `--lock-all-tables').
-
-   * The `--config-file' option for *Note `mysqld_multi': mysqld-multi.
-     (use `--defaults-extra-file').
-
-   * The `--set-variable=VAR_NAME=VALUE' and `-O VAR_NAME=VALUE'
-     general-purpose options for setting program variables (use
-     `--VAR_NAME=VALUE').
-
-   * The `--with-pstack' option for `configure' and the
-     `--enable-pstack' option for *Note `mysqld': mysqld.
-
-
-File: manual.info,  Node: smp-improvements,  Next: innodb-io-changes,  Prev: mysql-nutshell,  Up: mysql-nutshell
-
-2.4.1 Scalability Improvements
-------------------------------
-
-MySQL 5.5 modifications improve performance on SMP systems to increase
-scalability on multi-core systems. The changes affect *Note `InnoDB':
-innodb-storage-engine. locking and memory management.
-
-MySQL 5.5 incorporates changes in *Note `InnoDB':
-innodb-storage-engine. that improve the performance of RW-locks by
-using atomic CPU instructions (on platforms where they are available),
-rather than less scalable mutexes. It is also possible for *Note
-`InnoDB': innodb-storage-engine. memory allocation to be disabled and
-replaced by the normal `malloc' library, or by a different library that
-implements `malloc' such as `tcmalloc' on Linux or `mtalloc' on Solaris.
-
-The reimplementation of RW-locks requires atomic instructions. A status
-variable, `Innodb_have_atomic_builtins', shows whether the server was
-built with atomic instructions.
-
-
-File: manual.info,  Node: innodb-io-changes,  Next: monitoring-improvements,  Prev: smp-improvements,  Up: mysql-nutshell
-
-2.4.2 `InnoDB' I/O Subsystem Changes
-------------------------------------
-
-MySQL 5.5 changes to the *Note `InnoDB': innodb-storage-engine. I/O
-subsystem enable more effective use of available I/O capacity. The
-changes also provide more control over configuration of the I/O
-subsystem.
-
-*Background I/O Threads*
-
-*Note `InnoDB': innodb-storage-engine. uses background threads to
-perform I/O for several kinds of activities, two of which are
-prefetching disk blocks and flushing dirty pages. Previously, *Note
-`InnoDB': innodb-storage-engine. used only one thread each to perform
-these activities, but that can underutilize server capacity. MySQL 5.5
-enables use of multiple background read and write threads, making it
-possible to read and write pages faster.
-
-The patch makes the number of background I/O threads configurable using
-system variables: `innodb_read_io_threads' controls the number of
-threads to use for read prefetch requests.  `innodb_write_io_threads'
-controls the number of threads to use for writing dirty pages from the
-buffer cache to disk. The default for both variables is 4.
-
-The ability to increase the number of I/O threads can benefit systems
-that use multiple disks for *Note `InnoDB': innodb-storage-engine.
-However, the type of I/O being done should be considered. On systems
-that use buffered writes rather than direct writes, increasing the
-write thread count higher than 1 might yield little benefit because
-writes will be quick already.
-
-*Adjustable I/O Rate*
-
-Previously, the number of input/output operations per second (IOPS)
-that *Note `InnoDB': innodb-storage-engine. will perform was a
-compile-time parameter. The rate was chosen to prevent background I/O
-from exhausting server capacity and the compiled-in value of 100
-reflected an assumption that the server can perform 100 IOPS. However,
-many modern systems can exceed this, so the value is low and
-unnecessarily restricts I/O utilization.
-
-MySQL 5.5 exposes this I/O rate parameter as a system variable,
-`innodb_io_capacity'. This variable can be set at server startup, which
-enables higher values to be selected for systems capable of higher I/O
-rates.  Having a higher I/O rate can help the server handle a higher
-rate of row changes because it may be able to increase dirty-page
-flushing, deleted-row removal, and application of changes to the insert
-buffer. The default value of `innodb_io_capacity' is 200. In general,
-you can increase the value as a function of the number of drives used
-for *Note `InnoDB': innodb-storage-engine. I/O.
-
-The ability to raise the I/O limit should be especially beneficial on
-platforms that support many IOPS. For example, systems that use
-multiple disks or solid-state disks for *Note `InnoDB':
-innodb-storage-engine. are likely to benefit from the ability to
-control this parameter.
-
-
-File: manual.info,  Node: monitoring-improvements,  Next: solaris-enhancements,  Prev: innodb-io-changes,  Up: mysql-nutshell
-
-2.4.3 Diagnostic and Monitoring Capabilities
---------------------------------------------
-
-MySQL 5.5 provides improved access to execution and performance
-information. Diagnostic improvements include Performance Schema, Dtrace
-probes, expanded *Note `SHOW ENGINE INNODB STATUS': show-engine.
-output, Debug Sync, and a new status variable.
-
-*Performance Schema*
-
-Performance Schema is a feature for monitoring MySQL Server execution
-at a low level. See *Note performance-schema::.
-
-*DTrace Support*
-
-The DTrace probes work on Solaris, Mac OS X, and FreeBSD. For
-information on using DTrace in MySQL, see *Note dba-dtrace-server::.
-
-*Enhanced *Note `SHOW ENGINE INNODB STATUS': show-engine. Output*
-
-The output from *Note `SHOW ENGINE INNODB STATUS': show-engine.
-includes more information due to changes made for `InnoDB Plugin'. A
-description of revisions to statement output follows.
-
-A new `BACKGROUND THREAD' section has `srv_master_thread' lines that
-show work done by the main background thread.
-
-     ----------
-     BACKGROUND THREAD
-     ----------
-     srv_master_thread loops: 53 1_second, 44 sleeps, 5 10_second, 7 background,
-       7 flush
-     srv_master_thread log flush and writes: 48
-
-The `SEMAPHORES' section includes a line to show the number of spinlock
-rounds per OS wait for a mutex.
-
-     ----------
-     SEMAPHORES
-     ----------
-     ...
-     Spin rounds per wait: 0.00 mutex, 20.00 RW-shared, 0.00 RW-excl
-
-*Debug Sync*
-
-The Debug Sync facility provides synchronization points for debugging,
-see MySQL Internals: Test Synchronization
-(http://forge.mysql.com/wiki/MySQL_Internals_Test_Synchronization).
-
-*New Status Variable*
-
-The `Innodb_have_atomic_builtins' status variable provides information
-about availability of atomic instructions; see *Note smp-improvements::.
-
-
-File: manual.info,  Node: solaris-enhancements,  Prev: monitoring-improvements,  Up: mysql-nutshell
-
-2.4.4 Enhanced Solaris Support
-------------------------------
-
-MySQL 5.5 incorporates several modifications for improved operation of
-MySQL Server on Solaris:
-
-   * DTrace support for execution monitoring. See *Note
-     monitoring-improvements::.
-
-   * Atomic instructions, which are needed for the improvements to
-     RW-locking described in *Note smp-improvements::. Atomic
-     instructions now are supported for Sun Studio on SPARC and x86
-     platforms.  This extends their previous availability (supported for
-     `gcc' 4.1 and up on all platforms).
-
-   * The SMP improvements described in *Note smp-improvements::, were
-     originally intended for x86 platforms. In MySQL 5.5, these also
-     work on SPARC platforms. Also, Solaris optimizations have been
-     implemented.
-
-   * Large page support is enhanced for recent SPARC platforms.
-     Standard use of large pages in MySQL attempts to use the largest
-     size supported, up to 4MB. Under Solaris, a `super large pages'
-     feature enables uses of pages up to 256MB. This feature can be
-     enabled or disabled by using the `--super-large-pages' or
-     `--skip-super-large-pages' option.
-
-   * Inline handling for *Note `InnoDB': innodb-storage-engine. and
-     processor instruction prefetching support, previously not enabled
-     for builds created using Sun Studio, now are supported for that
-     build environment.
-
-
-File: manual.info,  Node: development-history,  Next: information-sources,  Prev: mysql-nutshell,  Up: introduction
-
-2.5 MySQL Development History
-=============================
-
-This section describes the general MySQL development history, provides
-an overview about features that have been implemented in previous
-series and that are new in MySQL 5.5, the release series covered in
-this manual. The maturity level this release series is general
-availability. Information about maturity levels can be found in *Note
-choosing-version::.
-
-Before upgrading from one release series to the next, please see the
-notes in *Note upgrading::.
-
-The most requested features and the versions in which they were
-implemented are summarized in the following table.
-
-Feature                MySQL Series
-Unions                 4.0
-Subqueries             4.1
-R-trees                4.1 (for the `MyISAM' storage engine)
-Stored procedures and  5.0
-functions              
-Views                  5.0
-Cursors                5.0
-XA transactions        5.0
-Triggers               5.0 and 5.1
-Event scheduler        5.1
-Partitioning           5.1
-Pluggable storage      5.1
-engine API             
-Plugin API             5.1
-InnoDB Plugin          5.1
-Row-based replication  5.1
-Server log tables      5.1
-Scalability and        5.4
-performance            
-improvements           
-DTrace support         5.4
-InnoDB as default      5.5
-storage engine         
-Semisynchronous        5.5
-replication            
-SIGNAL/RESIGNAL        5.5
-support in stored      
-routines               
-Performance Schema     5.5
-Supplementary Unicode  5.5
-characters             
-
-
-File: manual.info,  Node: information-sources,  Next: bug-reports,  Prev: development-history,  Up: introduction
-
-2.6 MySQL Information Sources
-=============================
-
-* Menu:
-
-* mailing-lists::                MySQL Mailing Lists
-* forums::                       MySQL Community Support at the MySQL Forums
-* irc::                          MySQL Community Support on Internet Relay Chat (IRC)
-* mysql-enterprise-information::  MySQL Enterprise
-
-This section lists sources of additional information that you may find
-helpful, such as the MySQL mailing lists and user forums, and Internet
-Relay Chat.
-
-
-File: manual.info,  Node: mailing-lists,  Next: forums,  Prev: information-sources,  Up: information-sources
-
-2.6.1 MySQL Mailing Lists
--------------------------
-
-* Menu:
-
-* mailing-list-use::             Guidelines for Using the Mailing Lists
-
-This section introduces the MySQL mailing lists and provides guidelines
-as to how the lists should be used. When you subscribe to a mailing
-list, you receive all postings to the list as email messages. You can
-also send your own questions and answers to the list.
-
-To subscribe to or unsubscribe from any of the mailing lists described
-in this section, visit `http://lists.mysql.com/'. For most of them, you
-can select the regular version of the list where you get individual
-messages, or a digest version where you get one large message per day.
-
-Please _do not_ send messages about subscribing or unsubscribing to any
-of the mailing lists, because such messages are distributed
-automatically to thousands of other users.
-
-Your local site may have many subscribers to a MySQL mailing list.  If
-so, the site may have a local mailing list, so that messages sent from
-`lists.mysql.com' to your site are propagated to the local list. In
-such cases, please contact your system administrator to be added to or
-dropped from the local MySQL list.
-
-To have traffic for a mailing list go to a separate mailbox in your
-mail program, set up a filter based on the message headers.  You can
-use either the `List-ID:' or `Delivered-To:' headers to identify list
-messages.
-
-The MySQL mailing lists are as follows:
-
-   * `announce'
-
-     The list for announcements of new versions of MySQL and related
-     programs. This is a low-volume list to which all MySQL users
-     should subscribe.
-
-   * `mysql'
-
-     The main list for general MySQL discussion. Please note that some
-     topics are better discussed on the more-specialized lists. If you
-     post to the wrong list, you may not get an answer.
-
-   * `bugs'
-
-     The list for people who want to stay informed about issues
-     reported since the last release of MySQL or who want to be
-     actively involved in the process of bug hunting and fixing.  See
-     *Note bug-reports::.
-
-   * `internals'
-
-     The list for people who work on the MySQL code. This is also the
-     forum for discussions on MySQL development and for posting patches.
-
-   * `mysqldoc'
-
-     The list for people who work on the MySQL documentation.
-
-   * `benchmarks'
-
-     The list for anyone interested in performance issues.  Discussions
-     concentrate on database performance (not limited to MySQL), but
-     also include broader categories such as performance of the kernel,
-     file system, disk system, and so on.
-
-   * `packagers'
-
-     The list for discussions on packaging and distributing MySQL.
-     This is the forum used by distribution maintainers to exchange
-     ideas on packaging MySQL and on ensuring that MySQL looks and
-     feels as similar as possible on all supported platforms and
-     operating systems.
-
-   * `java'
-
-     The list for discussions about the MySQL server and Java. It is
-     mostly used to discuss JDBC drivers such as MySQL Connector/J.
-
-   * `win32'
-
-     The list for all topics concerning the MySQL software on Microsoft
-     operating systems, such as Windows 9x, Me, NT, 2000, XP, and 2003.
-
-   * `myodbc'
-
-     The list for all topics concerning connecting to the MySQL server
-     with ODBC.
-
-   * `gui-tools'
-
-     The list for all topics concerning MySQL graphical user interface
-     tools such as `MySQL Administrator' and `MySQL Query Browser'.
-
-   * `cluster'
-
-     The list for discussion of MySQL Cluster.
-
-   * `dotnet'
-
-     The list for discussion of the MySQL server and the .NET platform.
-     It is mostly related to MySQL Connector/Net.
-
-   * `plusplus'
-
-     The list for all topics concerning programming with the C++ API
-     for MySQL.
-
-   * `perl'
-
-     The list for all topics concerning Perl support for MySQL with
-     `DBD::mysql'.
-
-If you're unable to get an answer to your questions from a MySQL
-mailing list or forum, one option is to purchase support from Oracle.
-This puts you in direct contact with MySQL developers.
-
-The following MySQL mailing lists are in languages other than English.
-These lists are not operated by Oracle.
-
-   * `<mysql-france-subscribe@yahoogroups.com>'
-
-     A French mailing list.
-
-   * `<list@tinc.net>'
-
-     A Korean mailing list. To subscribe, email `subscribe mysql
-     your@email.address' to this list.
-
-   * `<mysql-de-request@lists.4t2.com>'
-
-     A German mailing list. To subscribe, email `subscribe mysql-de
-     your@email.address' to this list. You can find information about
-     this mailing list at `http://www.4t2.com/mysql/'.
-
-   * `<mysql-br-request@listas.linkway.com.br>'
-
-     A Portuguese mailing list. To subscribe, email `subscribe mysql-br
-     your@email.address' to this list.
-
-   * `<mysql-alta@elistas.net>'
-
-     A Spanish mailing list. To subscribe, email `subscribe mysql
-     your@email.address' to this list.
-
-
-File: manual.info,  Node: mailing-list-use,  Prev: mailing-lists,  Up: mailing-lists
-
-2.6.1.1 Guidelines for Using the Mailing Lists
-..............................................
-
-Please do not post mail messages from your browser with HTML mode
-turned on. Many users do not read mail with a browser.
-
-When you answer a question sent to a mailing list, if you consider your
-answer to have broad interest, you may want to post it to the list
-instead of replying directly to the individual who asked. Try to make
-your answer general enough that people other than the original poster
-may benefit from it.  When you post to the list, please make sure that
-your answer is not a duplication of a previous answer.
-
-Try to summarize the essential part of the question in your reply. Do
-not feel obliged to quote the entire original message.
-
-When answers are sent to you individually and not to the mailing list,
-it is considered good etiquette to summarize the answers and send the
-summary to the mailing list so that others may have the benefit of
-responses you received that helped you solve your problem.
-
-
-File: manual.info,  Node: forums,  Next: irc,  Prev: mailing-lists,  Up: information-sources
-
-2.6.2 MySQL Community Support at the MySQL Forums
--------------------------------------------------
-
-The forums at `http://forums.mysql.com' are an important community
-resource. Many forums are available, grouped into these general
-categories:
-
-   * Migration
-
-   * MySQL Usage
-
-   * MySQL Connectors
-
-   * Programming Languages
-
-   * Tools
-
-   * 3rd-Party Applications
-
-   * Storage Engines
-
-   * MySQL Technology
-
-   * SQL Standards
-
-   * Business
-
-
-File: manual.info,  Node: irc,  Next: mysql-enterprise-information,  Prev: forums,  Up: information-sources
-
-2.6.3 MySQL Community Support on Internet Relay Chat (IRC)
-----------------------------------------------------------
-
-In addition to the various MySQL mailing lists and forums, you can find
-experienced community people on Internet Relay Chat (IRC).  These are
-the best networks/channels currently known to us:
-
-*freenode* (see `http://www.freenode.net/' for servers)
-
-   * `#mysql' is primarily for MySQL questions, but other database and
-     general SQL questions are welcome.  Questions about PHP, Perl, or
-     C in combination with MySQL are also common.
-
-If you are looking for IRC client software to connect to an IRC
-network, take a look at `xChat' (`http://www.xchat.org/'). X-Chat (GPL
-licensed) is available for Unix as well as for Windows platforms (a free
-Windows build of X-Chat is available at
-`http://www.silverex.org/download/').
-
-
-File: manual.info,  Node: mysql-enterprise-information,  Prev: irc,  Up: information-sources
-
-2.6.4 MySQL Enterprise
-----------------------
-
-Oracle offers technical support in the form of MySQL Enterprise.  For
-organizations that rely on the MySQL DBMS for business-critical
-production applications, MySQL Enterprise is a commercial subscription
-offering which includes:
-
-   * MySQL Enterprise Server
-
-   * MySQL Enterprise Monitor
-
-   * Monthly Rapid Updates and Quarterly Service Packs
-
-   * MySQL Knowledge Base
-
-   * 24x7 Technical and Consultative Support
-
-MySQL Enterprise is available in multiple tiers, giving you the
-flexibility to choose the level of service that best matches your
-needs. For more information, see MySQL Enterprise
-(http://www.mysql.com/products/enterprise/).
-
-
-File: manual.info,  Node: bug-reports,  Next: compatibility,  Prev: information-sources,  Up: introduction
-
-2.7 How to Report Bugs or Problems
-==================================
-
-Before posting a bug report about a problem, please try to verify that
-it is a bug and that it has not been reported already:
-
-   * Start by searching the MySQL online manual at
-     `http://dev.mysql.com/doc/'. We try to keep the manual up to date
-     by updating it frequently with solutions to newly found problems.
-     The change history (`http://dev.mysql.com/doc/mysql/en/news.html')
-     can be particularly useful since it is quite possible that a newer
-     version contains a solution to your problem.
-
-   * If you get a parse error for an SQL statement, please check your
-     syntax closely. If you cannot find something wrong with it, it is
-     extremely likely that your current version of MySQL Server doesn't
-     support the syntax you are using. If you are using the current
-     version and the manual doesn't cover the syntax that you are
-     using, MySQL Server doesn't support your statement. In this case,
-     your options are to implement the syntax yourself or email
-     <licensing@mysql.com> and ask for an offer to implement it.
-
-     If the manual covers the syntax you are using, but you have an
-     older version of MySQL Server, you should check the MySQL change
-     history to see when the syntax was implemented. In this case, you
-     have the option of upgrading to a newer version of MySQL Server.
-
-   * For solutions to some common problems, see *Note problems::.
-
-   * Search the bugs database at `http://bugs.mysql.com/' to see
-     whether the bug has been reported and fixed.
-
-   * Search the MySQL mailing list archives at
-     `http://lists.mysql.com/'. See *Note mailing-lists::.
-
-   * You can also use http://www.mysql.com/search/ to search all the
-     Web pages (including the manual) that are located at the MySQL Web
-     site.
-
-If you cannot find an answer in the manual, the bugs database, or the
-mailing list archives, check with your local MySQL expert. If you still
-cannot find an answer to your question, please use the following
-guidelines for reporting the bug.
-
-The normal way to report bugs is to visit `http://bugs.mysql.com/',
-which is the address for our bugs database. This database is public and
-can be browsed and searched by anyone. If you log in to the system, you
-can enter new reports.
-
-Bugs posted in the bugs database at `http://bugs.mysql.com/' that are
-corrected for a given release are noted in the change history.
-
-If you have found a sensitive security bug in MySQL, you can send email
-to <security@mysql.com>.
-
-To discuss problems with other users, you can use one of the MySQL
-mailing lists. *Note mailing-lists::.
-
-Writing a good bug report takes patience, but doing it right the first
-time saves time both for us and for yourself. A good bug report,
-containing a full test case for the bug, makes it very likely that we
-will fix the bug in the next release. This section helps you write your
-report correctly so that you do not waste your time doing things that
-may not help us much or at all. Please read this section carefully and
-make sure that all the information described here is included in your
-report.
-
-Preferably, you should test the problem using the latest production or
-development version of MySQL Server before posting. Anyone should be
-able to repeat the bug by just using `mysql test < script_file' on your
-test case or by running the shell or Perl script that you include in
-the bug report. Any bug that we are able to repeat has a high chance of
-being fixed in the next MySQL release.
-
-It is most helpful when a good description of the problem is included
-in the bug report. That is, give a good example of everything you did
-that led to the problem and describe, in exact detail, the problem
-itself. The best reports are those that include a full example showing
-how to reproduce the bug or problem. See MySQL Internals: Porting
-(http://forge.mysql.com/wiki/MySQL_Internals_Porting).
-
-Remember that it is possible for us to respond to a report containing
-too much information, but not to one containing too little. People
-often omit facts because they think they know the cause of a problem
-and assume that some details do not matter. A good principle to follow
-is that if you are in doubt about stating something, state it. It is
-faster and less troublesome to write a couple more lines in your report
-than to wait longer for the answer if we must ask you to provide
-information that was missing from the initial report.
-
-The most common errors made in bug reports are (a) not including the
-version number of the MySQL distribution that you use, and (b) not
-fully describing the platform on which the MySQL server is installed
-(including the platform type and version number). These are highly
-relevant pieces of information, and in 99 cases out of 100, the bug
-report is useless without them. Very often we get questions like, `Why
-doesn't this work for me?' Then we find that the feature requested
-wasn't implemented in that MySQL version, or that a bug described in a
-report has been fixed in newer MySQL versions.  Errors often are
-platform-dependent. In such cases, it is next to impossible for us to
-fix anything without knowing the operating system and the version
-number of the platform.
-
-If you compiled MySQL from source, remember also to provide information
-about your compiler if it is related to the problem.  Often people find
-bugs in compilers and think the problem is MySQL-related. Most
-compilers are under development all the time and become better version
-by version. To determine whether your problem depends on your compiler,
-we need to know what compiler you used.  Note that every compiling
-problem should be regarded as a bug and reported accordingly.
-
-If a program produces an error message, it is very important to include
-the message in your report. If we try to search for something from the
-archives, it is better that the error message reported exactly matches
-the one that the program produces. (Even the lettercase should be
-observed.) It is best to copy and paste the entire error message into
-your report. You should never try to reproduce the message from memory.
-
-If you have a problem with Connector/ODBC (MyODBC), please try to
-generate a trace file and send it with your report. See *Note
-connector-odbc-support-bug-report::.
-
-If your report includes long query output lines from test cases that
-you run with the *Note `mysql': mysql. command-line tool, you can make
-the output more readable by using the `--vertical' option or the `\G'
-statement terminator. The *Note `EXPLAIN SELECT': explain.  example
-later in this section demonstrates the use of `\G'.
-
-Please include the following information in your report:
-
-   * The version number of the MySQL distribution you are using (for
-     example, MySQL 5.0.19). You can find out which version you are
-     running by executing *Note `mysqladmin version': mysqladmin. The
-     *Note `mysqladmin': mysqladmin. program can be found in the `bin'
-     directory under your MySQL installation directory.
-
-   * The manufacturer and model of the machine on which you experience
-     the problem.
-
-   * The operating system name and version. If you work with Windows,
-     you can usually get the name and version number by double-clicking
-     your My Computer icon and pulling down the `Help/About Windows'
-     menu. For most Unix-like operating systems, you can get this
-     information by executing the command `uname -a'.
-
-   * Sometimes the amount of memory (real and virtual) is relevant.  If
-     in doubt, include these values.
-
-   * If you are using a source distribution of the MySQL software,
-     include the name and version number of the compiler that you used.
-     If you have a binary distribution, include the distribution name.
-
-   * If the problem occurs during compilation, include the exact error
-     messages and also a few lines of context around the offending code
-     in the file where the error occurs.
-
-   * If *Note `mysqld': mysqld. died, you should also report the
-     statement that crashed *Note `mysqld': mysqld. You can usually get
-     this information by running *Note `mysqld': mysqld. with query
-     logging enabled, and then looking in the log after *Note `mysqld':
-     mysqld. crashes. See MySQL Internals: Porting
-     (http://forge.mysql.com/wiki/MySQL_Internals_Porting).
-
-   * If a database table is related to the problem, include the output
-     from the `SHOW CREATE TABLE DB_NAME.TBL_NAME' statement in the bug
-     report. This is a very easy way to get the definition of any table
-     in a database. The information helps us create a situation
-     matching the one that you have experienced.
-
-   * The SQL mode in effect when the problem occurred can be
-     significant, so please report the value of the `sql_mode' system
-     variable. For stored procedure, stored function, and trigger
-     objects, the relevant `sql_mode' value is the one in effect when
-     the object was created. For a stored procedure or function, the
-     *Note `SHOW CREATE PROCEDURE': show-create-procedure. or *Note
-     `SHOW CREATE FUNCTION': show-create-function. statement shows the
-     relevant SQL mode, or you can query `INFORMATION_SCHEMA' for the
-     information:
-
-          SELECT ROUTINE_SCHEMA, ROUTINE_NAME, SQL_MODE
-          FROM INFORMATION_SCHEMA.ROUTINES;
-
-     For triggers, you can use this statement:
-
-          SELECT EVENT_OBJECT_SCHEMA, EVENT_OBJECT_TABLE, TRIGGER_NAME, SQL_MODE
-          FROM INFORMATION_SCHEMA.TRIGGERS;
-
-   * For performance-related bugs or problems with *Note `SELECT':
-     select. statements, you should always include the output of
-     `EXPLAIN SELECT ...', and at least the number of rows that the
-     *Note `SELECT': select. statement produces. You should also
-     include the output from `SHOW CREATE TABLE TBL_NAME' for each table
-     that is involved. The more information you provide about your
-     situation, the more likely it is that someone can help you.
-
-     The following is an example of a very good bug report. The
-     statements are run using the *Note `mysql': mysql.  command-line
-     tool. Note the use of the `\G' statement terminator for statements
-     that would otherwise provide very long output lines that are
-     difficult to read.
-
-          mysql> SHOW VARIABLES;
-          mysql> SHOW COLUMNS FROM ...\G
-                 <OUTPUT FROM SHOW COLUMNS>
-          mysql> EXPLAIN SELECT ...\G
-                 <OUTPUT FROM EXPLAIN>
-          mysql> FLUSH STATUS;
-          mysql> SELECT ...;
-                 <A SHORT VERSION OF THE OUTPUT FROM SELECT,
-                 INCLUDING THE TIME TAKEN TO RUN THE QUERY>
-          mysql> SHOW STATUS;
-                 <OUTPUT FROM SHOW STATUS>
-
-   * If a bug or problem occurs while running *Note `mysqld': mysqld,
-     try to provide an input script that reproduces the anomaly. This
-     script should include any necessary source files. The more closely
-     the script can reproduce your situation, the better. If you can
-     make a reproducible test case, you should upload it to be attached
-     to the bug report.
-
-     If you cannot provide a script, you should at least include the
-     output from *Note `mysqladmin variables extended-status
-     processlist': mysqladmin. in your report to provide some
-     information on how your system is performing.
-
-   * If you cannot produce a test case with only a few rows, or if the
-     test table is too big to be included in the bug report (more than
-     10 rows), you should dump your tables using *Note `mysqldump':
-     mysqldump. and create a `README' file that describes your problem.
-     Create a compressed archive of your files using `tar' and `gzip' or
-     `zip', and use FTP to transfer the archive to
-     `ftp://ftp.mysql.com/pub/mysql/upload/'. Then enter the problem
-     into our bugs database at `http://bugs.mysql.com/'.
-
-   * If you believe that the MySQL server produces a strange result
-     from a statement, include not only the result, but also your
-     opinion of what the result should be, and an explanation
-     describing the basis for your opinion.
-
-   * When you provide an example of the problem, it is better to use
-     the table names, variable names, and so forth that exist in your
-     actual situation than to come up with new names. The problem could
-     be related to the name of a table or variable. These cases are
-     rare, perhaps, but it is better to be safe than sorry. After all,
-     it should be easier for you to provide an example that uses your
-     actual situation, and it is by all means better for us. If you
-     have data that you do not want to be visible to others in the bug
-     report, you can use FTP to transfer it to
-     `ftp://ftp.mysql.com/pub/mysql/upload/'. If the information is
-     really top secret and you do not want to show it even to us, go
-     ahead and provide an example using other names, but please regard
-     this as the last choice.
-
-   * Include all the options given to the relevant programs, if
-     possible. For example, indicate the options that you use when you
-     start the *Note `mysqld': mysqld. server, as well as the options
-     that you use to run any MySQL client programs. The options to
-     programs such as *Note `mysqld': mysqld. and *Note `mysql': mysql,
-     and to the `configure' script, are often key to resolving problems
-     and are very relevant. It is never a bad idea to include them. If
-     your problem involves a program written in a language such as Perl
-     or PHP, please include the language processor's version number, as
-     well as the version for any modules that the program uses. For
-     example, if you have a Perl script that uses the `DBI' and
-     `DBD::mysql' modules, include the version numbers for Perl, `DBI',
-     and `DBD::mysql'.
-
-   * If your question is related to the privilege system, please
-     include the output of *Note `mysqlaccess': mysqlaccess, the output
-     of *Note `mysqladmin reload': mysqladmin, and all the error
-     messages you get when trying to connect. When you test your
-     privileges, you should first run *Note `mysqlaccess': mysqlaccess.
-     After this, execute *Note `mysqladmin reload version': mysqladmin.
-     and try to connect with the program that gives you trouble.  *Note
-     `mysqlaccess': mysqlaccess. can be found in the `bin' directory
-     under your MySQL installation directory.
-
-   * If you have a patch for a bug, do include it. But do not assume
-     that the patch is all we need, or that we can use it, if you do
-     not provide some necessary information such as test cases showing
-     the bug that your patch fixes. We might find problems with your
-     patch or we might not understand it at all. If so, we cannot use
-     it.
-
-     If we cannot verify the exact purpose of the patch, we will not
-     use it. Test cases help us here. Show that the patch handles all
-     the situations that may occur. If we find a borderline case (even
-     a rare one) where the patch will not work, it may be useless.
-
-   * Guesses about what the bug is, why it occurs, or what it depends
-     on are usually wrong. Even the MySQL team cannot guess such things
-     without first using a debugger to determine the real cause of a
-     bug.
-
-   * Indicate in your bug report that you have checked the reference
-     manual and mail archive so that others know you have tried to
-     solve the problem yourself.
-
-   * If the problem is that your data appears corrupt or you get errors
-     when you access a particular table, you should first check your
-     tables and then try to repair them with *Note `CHECK TABLE':
-     check-table. and *Note `REPAIR TABLE': repair-table. or with *Note
-     `myisamchk': myisamchk. See *Note server-administration::.
-
-     If you are running Windows, please verify the value of
-     `lower_case_table_names' using the `SHOW VARIABLES LIKE
-     'lower_case_table_names'' statement. This variable affects how the
-     server handles lettercase of database and table names. Its effect
-     for a given value should be as described in *Note
-     identifier-case-sensitivity::.
-
-   * If you often get corrupted tables, you should try to find out when
-     and why this happens. In this case, the error log in the MySQL
-     data directory may contain some information about what happened.
-     (This is the file with the `.err' suffix in the name.) See *Note
-     error-log::. Please include any relevant information from this
-     file in your bug report. Normally *Note `mysqld': mysqld. should
-     _never_ crash a table if nothing killed it in the middle of an
-     update. If you can find the cause of *Note `mysqld': mysqld.
-     dying, it is much easier for us to provide you with a fix for the
-     problem. See *Note what-is-crashing::.
-
-   * If possible, download and install the most recent version of MySQL
-     Server and check whether it solves your problem. All versions of
-     the MySQL software thoroughly tested and should work without
-     problems. We believe in making everything as backward-compatible
-     as possible, and you should be able to switch MySQL versions
-     without difficulty. See *Note which-version::.
-
-
-File: manual.info,  Node: compatibility,  Next: credits,  Prev: bug-reports,  Up: introduction
-
-2.8 MySQL Standards Compliance
-==============================
-
-* Menu:
-
-* standards::                    What Standards MySQL Follows
-* sql-mode::                     Selecting SQL Modes
-* ansi-mode::                    Running MySQL in ANSI Mode
-* extensions-to-ansi::           MySQL Extensions to Standard SQL
-* differences-from-ansi::        MySQL Differences from Standard SQL
-* constraints::                  How MySQL Deals with Constraints
-
-This section describes how MySQL relates to the ANSI/ISO SQL standards.
-MySQL Server has many extensions to the SQL standard, and here you can
-find out what they are and how to use them. You can also find
-information about functionality missing from MySQL Server, and how to
-work around some of the differences.
-
-The SQL standard has been evolving since 1986 and several versions
-exist. In this manual, `SQL-92' refers to the standard released in
-1992, `SQL:1999' refers to the standard released in 1999, `SQL:2003'
-refers to the standard released in 2003, and `SQL:2008' refers to the
-most recent version of the standard, released in 2008. We use the
-phrase `the SQL standard' or `standard SQL' to mean the current version
-of the SQL Standard at any time.
-
-One of our main goals with the product is to continue to work toward
-compliance with the SQL standard, but without sacrificing speed or
-reliability. We are not afraid to add extensions to SQL or support for
-non-SQL features if this greatly increases the usability of MySQL
-Server for a large segment of our user base.  The *Note `HANDLER':
-handler. interface is an example of this strategy. See *Note handler::.
-
-We continue to support transactional and nontransactional databases to
-satisfy both mission-critical 24/7 usage and heavy Web or logging usage.
-
-MySQL Server was originally designed to work with medium-sized
-databases (10-100 million rows, or about 100MB per table) on small
-computer systems. Today MySQL Server handles terabyte-sized databases,
-but the code can also be compiled in a reduced version suitable for
-hand-held and embedded devices. The compact design of the MySQL server
-makes development in both directions possible without any conflicts in
-the source tree.
-
-Currently, we are not targeting real-time support, although MySQL
-replication capabilities offer significant functionality.
-
-MySQL supports high-availability database clustering using the *Note
-`NDBCLUSTER': mysql-cluster. storage engine. See *Note mysql-cluster::.
-
-We are implementing XML functionality beginning in MySQL 5.1, which
-supports most of the W3C XPath standard. We plan to increase support
-for XML as part of future MySQL development. See *Note xml-functions::.
-
-
-File: manual.info,  Node: standards,  Next: sql-mode,  Prev: compatibility,  Up: compatibility
-
-2.8.1 What Standards MySQL Follows
-----------------------------------
-
-Our aim is to support the full ANSI/ISO SQL standard, but without
-making concessions to speed and quality of the code.
-
-ODBC levels 0 to 3.51.
-
-
-File: manual.info,  Node: sql-mode,  Next: ansi-mode,  Prev: standards,  Up: compatibility
-
-2.8.2 Selecting SQL Modes
--------------------------
-
-The MySQL server can operate in different SQL modes, and can apply
-these modes differentially for different clients. This capability
-enables each application to tailor the server's operating mode to its
-own requirements.
-
-SQL modes control aspects of server operation such as what SQL syntax
-MySQL should support and what kind of data validation checks it should
-perform. This makes it easier to use MySQL in different environments
-and to use MySQL together with other database servers.
-
-You can set the default SQL mode by starting *Note `mysqld': mysqld.
-with the `--sql-mode="MODE_VALUE"' option. You can also change the mode
-at runtime by setting the `sql_mode' system variable with a *Note `SET
-[GLOBAL|SESSION] sql_mode='MODE_VALUE'': set-statement.  statement.
-
-For more information on setting the SQL mode, see *Note
-server-sql-mode::.
-
-
-File: manual.info,  Node: ansi-mode,  Next: extensions-to-ansi,  Prev: sql-mode,  Up: compatibility
-
-2.8.3 Running MySQL in ANSI Mode
---------------------------------
-
-You can tell *Note `mysqld': mysqld. to run in ANSI mode with the
-`--ansi' startup option.  Running the server in ANSI mode is the same
-as starting it with the following options:
-
-     --transaction-isolation=SERIALIZABLE --sql-mode=ANSI
-
-You can achieve the same effect at runtime by executing these two
-statements:
-
-     SET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE;
-     SET GLOBAL sql_mode = 'ANSI';
-
-You can see that setting the `sql_mode' system variable to `'ANSI''
-enables all SQL mode options that are relevant for ANSI mode as follows:
-
-     mysql> SET GLOBAL sql_mode='ANSI';
-     mysql> SELECT @@global.sql_mode;
-             -> 'REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI'
-
-Running the server in ANSI mode with `--ansi' is not quite the same as
-setting the SQL mode to `'ANSI''. The `--ansi' option affects the SQL
-mode and also sets the transaction isolation level. Setting the SQL
-mode to `'ANSI'' has no effect on the isolation level.
-
-See *Note server-options::, and *Note sql-mode::.
-
-
-File: manual.info,  Node: extensions-to-ansi,  Next: differences-from-ansi,  Prev: ansi-mode,  Up: compatibility
-
-2.8.4 MySQL Extensions to Standard SQL
---------------------------------------
-
-MySQL Server supports some extensions that you probably won't find in
-other SQL DBMSs. Be warned that if you use them, your code won't be
-portable to other SQL servers. In some cases, you can write code that
-includes MySQL extensions, but is still portable, by using comments of
-the following form:
-
-     /*! MYSQL-SPECIFIC CODE */
-
-In this case, MySQL Server parses and executes the code within the
-comment as it would any other SQL statement, but other SQL servers will
-ignore the extensions. For example, MySQL Server recognizes the
-`STRAIGHT_JOIN' keyword in the following statement, but other servers
-will not:
-
-     SELECT /*! STRAIGHT_JOIN */ col1 FROM table1,table2 WHERE ...
-
-If you add a version number after the ``!'' character, the syntax within
-the comment is executed only if the MySQL version is greater than or
-equal to the specified version number. The `TEMPORARY' keyword in the
-following comment is executed only by servers from MySQL 3.23.02 or
-higher:
-
-     CREATE /*!32302 TEMPORARY */ TABLE t (a INT);
-
-The following descriptions list MySQL extensions, organized by category.
-
-   * Organization of data on disk
-
-     MySQL Server maps each database to a directory under the MySQL
-     data directory, and maps tables within a database to file names in
-     the database directory. This has a few implications:
-
-        * Database and table names are case sensitive in MySQL Server
-          on operating systems that have case-sensitive file names
-          (such as most Unix systems). See *Note
-          identifier-case-sensitivity::.
-
-        * You can use standard system commands to back up, rename,
-          move, delete, and copy tables that are managed by the
-          `MyISAM' storage engine. For example, it is possible to
-          rename a `MyISAM' table by renaming the `.MYD', `.MYI', and
-          `.frm' files to which the table corresponds. (Nevertheless, it
-          is preferable to use *Note `RENAME TABLE': rename-table. or
-          `ALTER TABLE ...  RENAME' and let the server rename the
-          files.)
-
-   * General language syntax
-
-        * By default, strings can be enclosed by either ``"'' or ``''',
-          not just by ``'''. (If the `ANSI_QUOTES' SQL mode is enabled,
-          strings can be enclosed only by ``''' and the server
-          interprets strings enclosed by ``"'' as identifiers.)
-
-        * ``\'' is the escape character in strings.
-
-        * In SQL statements, you can access tables from different
-          databases with the DB_NAME.TBL_NAME syntax. Some SQL servers
-          provide the same functionality but call this `User space'.
-          MySQL Server doesn't support tablespaces such as used in
-          statements like this: `CREATE TABLE ralph.my_table ... IN
-          my_tablespace'.
-
-   * SQL statement syntax
-
-        * The *Note `ANALYZE TABLE': analyze-table, *Note `CHECK
-          TABLE': check-table, *Note `OPTIMIZE TABLE': optimize-table,
-          and *Note `REPAIR TABLE': repair-table. statements.
-
-        * The *Note `CREATE DATABASE': create-database, *Note `DROP
-          DATABASE': drop-database, and *Note `ALTER DATABASE':
-          alter-database.  statements. See *Note create-database::,
-          *Note drop-database::, and *Note alter-database::.
-
-        * The *Note `DO': do. statement.
-
-        * *Note `EXPLAIN SELECT': explain. to obtain a description of
-          how tables are processed by the query optimizer.
-
-        * The *Note `FLUSH': flush. and *Note `RESET': reset.
-          statements.
-
-        * The *Note `SET': set-statement.  statement. See *Note
-          set-statement::.
-
-        * The *Note `SHOW': show. statement. See *Note show::. The
-          information produced by many of the MySQL-specific *Note
-          `SHOW': show. statements can be obtained in more standard
-          fashion by using *Note `SELECT': select. to query
-          `INFORMATION_SCHEMA'. See *Note information-schema::.
-
-        * Use of *Note `LOAD DATA INFILE': load-data. In many cases,
-          this syntax is compatible with Oracle's *Note `LOAD DATA
-          INFILE': load-data. See *Note load-data::.
-
-        * Use of *Note `RENAME TABLE': rename-table. See *Note
-          rename-table::.
-
-        * Use of *Note `REPLACE': replace. instead of *Note `DELETE':
-          delete. plus *Note `INSERT': insert. See *Note replace::.
-
-        * Use of `CHANGE COL_NAME', `DROP COL_NAME', or *Note `DROP
-          INDEX': drop-index, `IGNORE' or `RENAME' in *Note `ALTER
-          TABLE': alter-table.  statements. Use of multiple `ADD',
-          `ALTER', `DROP', or `CHANGE' clauses in an *Note `ALTER
-          TABLE': alter-table. statement.  See *Note alter-table::.
-
-        * Use of index names, indexes on a prefix of a column, and use
-          of `INDEX' or `KEY' in *Note `CREATE TABLE': create-table.
-          statements. See *Note create-table::.
-
-        * Use of `TEMPORARY' or `IF NOT EXISTS' with *Note `CREATE
-          TABLE': create-table.
-
-        * Use of `IF EXISTS' with *Note `DROP TABLE': drop-table. and
-          *Note `DROP DATABASE': drop-database.
-
-        * The capability of dropping multiple tables with a single
-          *Note `DROP TABLE': drop-table. statement.
-
-        * The `ORDER BY' and `LIMIT' clauses of the *Note `UPDATE':
-          update. and *Note `DELETE': delete. statements.
-
-        * `INSERT INTO TBL_NAME SET COL_NAME = ...' syntax.
-
-        * The `DELAYED' clause of the *Note `INSERT': insert. and *Note
-          `REPLACE': replace. statements.
-
-        * The `LOW_PRIORITY' clause of the *Note `INSERT': insert,
-          *Note `REPLACE': replace, *Note `DELETE': delete, and *Note
-          `UPDATE': update. statements.
-
-        * Use of `INTO OUTFILE' or `INTO DUMPFILE' in *Note `SELECT':
-          select. statements. See *Note select::.
-
-        * Options such as `STRAIGHT_JOIN' or `SQL_SMALL_RESULT' in
-          *Note `SELECT': select. statements.
-
-        * You don't need to name all selected columns in the `GROUP BY'
-          clause. This gives better performance for some very specific,
-          but quite normal queries. See *Note
-          group-by-functions-and-modifiers::.
-
-        * You can specify `ASC' and `DESC' with `GROUP BY', not just
-          with `ORDER BY'.
-
-        * The ability to set variables in a statement with the `:='
-          assignment operator. See *Note user-variables::.
-
-   * Data types
-
-        * The *Note `MEDIUMINT': numeric-types, *Note `SET': set, and
-          *Note `ENUM': enum. data types, and the various *Note `BLOB':
-          blob. and *Note `TEXT': blob. data types.
-
-        * The `AUTO_INCREMENT', `BINARY', `NULL', `UNSIGNED', and
-          `ZEROFILL' data type attributes.
-
-   * Functions and operators
-
-        * To make it easier for users who migrate from other SQL
-          environments, MySQL Server supports aliases for many
-          functions. For example, all string functions support both
-          standard SQL syntax and ODBC syntax.
-
-        * MySQL Server understands the `||' and `&&' operators to mean
-          logical OR and AND, as in the C programming language. In
-          MySQL Server, `||' and `OR' are synonyms, as are `&&' and
-          `AND'.  Because of this nice syntax, MySQL Server doesn't
-          support the standard SQL `||' operator for string
-          concatenation; use `CONCAT()' instead. Because `CONCAT()'
-          takes any number of arguments, it is easy to convert use of
-          the `||' operator to MySQL Server.
-
-        * Use of `COUNT(DISTINCT VALUE_LIST)' where VALUE_LIST has more
-          than one element.
-
-        * String comparisons are case-insensitive by default, with sort
-          ordering determined by the collation of the current character
-          set, which is `latin1' (cp1252 West European) by default. If
-          you don't like this, you should declare your columns with the
-          `BINARY' attribute or use the `BINARY' cast, which causes
-          comparisons to be done using the underlying character code
-          values rather than a lexical ordering.
-
-        * The `%' operator is a synonym for `MOD()'. That is, `N % M'
-          is equivalent to `MOD(N,M)'.  `%' is supported for C
-          programmers and for compatibility with PostgreSQL.
-
-        * The `=', `<>', `<=', `<', `>=', `>', `<<', `>>', `<=>', `AND',
-          `OR', or `LIKE' operators may be used in expressions in the
-          output column list (to the left of the `FROM') in *Note
-          `SELECT': select. statements. For example:
-
-               mysql> SELECT col1=1 AND col2=2 FROM my_table;
-
-        * The `LAST_INSERT_ID()' function returns the most recent
-          `AUTO_INCREMENT' value. See *Note information-functions::.
-
-        * `LIKE' is permitted on numeric values.
-
-        * The `REGEXP' and `NOT REGEXP' extended regular expression
-          operators.
-
-        * `CONCAT()' or `CHAR()' with one argument or more than two
-          arguments. (In MySQL Server, these functions can take a
-          variable number of arguments.)
-
-        * The `BIT_COUNT()', `CASE', `ELT()', `FROM_DAYS()', `FORMAT()',
-          `IF()', `PASSWORD()', `ENCRYPT()', `MD5()', `ENCODE()',
-          `DECODE()', `PERIOD_ADD()', `PERIOD_DIFF()', `TO_DAYS()', and
-          `WEEKDAY()' functions.
-
-        * Use of `TRIM()' to trim substrings. Standard SQL supports
-          removal of single characters only.
-
-        * The `GROUP BY' functions `STD()', `BIT_OR()', `BIT_AND()',
-          `BIT_XOR()', and `GROUP_CONCAT()'. See *Note
-          group-by-functions-and-modifiers::.
-
-
-File: manual.info,  Node: differences-from-ansi,  Next: constraints,  Prev: extensions-to-ansi,  Up: compatibility
-
-2.8.5 MySQL Differences from Standard SQL
------------------------------------------
-
-* Menu:
-
-* ansi-diff-select-into-table::  `SELECT INTO TABLE' Differences
-* ansi-diff-update::             `UPDATE' Differences
-* ansi-diff-transactions::       Transaction and Atomic Operation Differences
-* ansi-diff-foreign-keys::       Foreign Key Differences
-* ansi-diff-comments::           '`--'' as the Start of a Comment
-
-We try to make MySQL Server follow the ANSI SQL standard and the ODBC
-SQL standard, but MySQL Server performs operations differently in some
-cases:
-
-   * There are several differences between the MySQL and standard SQL
-     privilege systems. For example, in MySQL, privileges for a table
-     are not automatically revoked when you delete a table. You must
-     explicitly issue a *Note `REVOKE': revoke. statement to revoke
-     privileges for a table. For more information, see *Note revoke::.
-
-   * The `CAST()' function does not support cast to *Note `REAL':
-     numeric-types. or *Note `BIGINT': numeric-types. See *Note
-     cast-functions::.
-
-
-File: manual.info,  Node: ansi-diff-select-into-table,  Next: ansi-diff-update,  Prev: differences-from-ansi,  Up: differences-from-ansi
-
-2.8.5.1 `SELECT INTO TABLE' Differences
-.......................................
-
-MySQL Server doesn't support the `SELECT ... INTO TABLE' Sybase SQL
-extension. Instead, MySQL Server supports the *Note `INSERT INTO ...
-SELECT': insert-select. standard SQL syntax, which is basically the
-same thing. See *Note insert-select::. For example:
-
-     INSERT INTO tbl_temp2 (fld_id)
-         SELECT tbl_temp1.fld_order_id
-         FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;
-
-Alternatively, you can use *Note `SELECT ... INTO OUTFILE':
-select-into. or *Note `CREATE TABLE ... SELECT': create-table.
-
-You can use *Note `SELECT ... INTO': select. with user-defined
-variables. The same syntax can also be used inside stored routines
-using cursors and local variables. See *Note select-into::.
-
-
-File: manual.info,  Node: ansi-diff-update,  Next: ansi-diff-transactions,  Prev: ansi-diff-select-into-table,  Up: differences-from-ansi
-
-2.8.5.2 `UPDATE' Differences
-............................
-
-If you access a column from the table to be updated in an expression,
-*Note `UPDATE': update. uses the current value of the column. The
-second assignment in the following statement sets `col2' to the current
-(updated) `col1' value, not the original `col1' value. The result is
-that `col1' and `col2' have the same value. This behavior differs from
-standard SQL.
-
-     UPDATE t1 SET col1 = col1 + 1, col2 = col1;
-
-
-File: manual.info,  Node: ansi-diff-transactions,  Next: ansi-diff-foreign-keys,  Prev: ansi-diff-update,  Up: differences-from-ansi
-
-2.8.5.3 Transaction and Atomic Operation Differences
-....................................................
-
-MySQL Server (version 3.23-max and all versions 4.0 and above) supports
-transactions with the `InnoDB' transactional storage engine. `InnoDB'
-provides _full_ ACID compliance. See *Note storage-engines::. For
-information about `InnoDB' differences from standard SQL with regard to
-treatment of transaction errors, see *Note innodb-error-handling::.
-
-The other nontransactional storage engines in MySQL Server (such as
-`MyISAM') follow a different paradigm for data integrity called `atomic
-operations.' In transactional terms, `MyISAM' tables effectively always
-operate in `autocommit = 1' mode. Atomic operations often offer
-comparable integrity with higher performance.
-
-Because MySQL Server supports both paradigms, you can decide whether
-your applications are best served by the speed of atomic operations or
-the use of transactional features. This choice can be made on a
-per-table basis.
-
-As noted, the tradeoff for transactional versus nontransactional
-storage engines lies mostly in performance.  Transactional tables have
-significantly higher memory and disk space requirements, and more CPU
-overhead. On the other hand, transactional storage engines such as
-`InnoDB' also offer many significant features. MySQL Server's modular
-design enables the concurrent use of different storage engines to suit
-different requirements and deliver optimum performance in all
-situations.
-
-But how do you use the features of MySQL Server to maintain rigorous
-integrity even with the nontransactional `MyISAM' tables, and how do
-these features compare with the transactional storage engines?
-
-   * If your applications are written in a way that is dependent on
-     being able to call *Note `ROLLBACK': commit.  rather than *Note
-     `COMMIT': commit. in critical situations, transactions are more
-     convenient.  Transactions also ensure that unfinished updates or
-     corrupting activities are not committed to the database; the
-     server is given the opportunity to do an automatic rollback and
-     your database is saved.
-
-     If you use nontransactional tables, MySQL Server in almost all
-     cases enables you to resolve potential problems by including
-     simple checks before updates and by running simple scripts that
-     check the databases for inconsistencies and automatically repair
-     or warn if such an inconsistency occurs. You can normally fix
-     tables perfectly with no data integrity loss just by using the
-     MySQL log or even adding one extra log.
-
-   * More often than not, critical transactional updates can be
-     rewritten to be atomic. Generally speaking, all integrity problems
-     that transactions solve can be done with *Note `LOCK TABLES':
-     lock-tables. or atomic updates, ensuring that there are no
-     automatic aborts from the server, which is a common problem with
-     transactional database systems.
-
-   * To be safe with MySQL Server, regardless of whether you use
-     transactional tables, you only need to have backups and have
-     binary logging turned on. When that is true, you can recover from
-     any situation that you could with any other transactional database
-     system. It is always good to have backups, regardless of which
-     database system you use.
-
-The transactional paradigm has its advantages and disadvantages. Many
-users and application developers depend on the ease with which they can
-code around problems where an abort appears to be necessary, or is
-necessary. However, even if you are new to the atomic operations
-paradigm, or more familiar with transactions, do consider the speed
-benefit that nontransactional tables can offer on the order of three to
-five times the speed of the fastest and most optimally tuned
-transactional tables.
-
-In situations where integrity is of highest importance, MySQL Server
-offers transaction-level reliability and integrity even for
-nontransactional tables. If you lock tables with *Note `LOCK TABLES':
-lock-tables, all updates stall until integrity checks are made. If you
-obtain a `READ LOCAL' lock (as opposed to a write lock) for a table
-that enables concurrent inserts at the end of the table, reads are
-permitted, as are inserts by other clients. The newly inserted records
-are not be seen by the client that has the read lock until it releases
-the lock. With *Note `INSERT DELAYED': insert-delayed, you can write
-inserts that go into a local queue until the locks are released,
-without having the client wait for the insert to complete. See *Note
-concurrent-inserts::, and *Note insert-delayed::.
-
-`Atomic,' in the sense that we mean it, is nothing magical. It only
-means that you can be sure that while each specific update is running,
-no other user can interfere with it, and there can never be an
-automatic rollback (which can happen with transactional tables if you
-are not very careful). MySQL Server also guarantees that there are no
-dirty reads.
-
-Following are some techniques for working with nontransactional tables:
-
-   * Loops that need transactions normally can be coded with the help
-     of *Note `LOCK TABLES': lock-tables, and you don't need cursors to
-     update records on the fly.
-
-   * To avoid using *Note `ROLLBACK': commit, you can employ the
-     following strategy:
-
-       1. Use *Note `LOCK TABLES': lock-tables. to lock all the tables
-          you want to access.
-
-       2. Test the conditions that must be true before performing the
-          update.
-
-       3. Update if the conditions are satisfied.
-
-       4. Use *Note `UNLOCK TABLES': lock-tables. to release your locks.
-
-     This is usually a much faster method than using transactions with
-     possible rollbacks, although not always.  The only situation this
-     solution doesn't handle is when someone kills the threads in the
-     middle of an update. In that case, all locks are released but some
-     of the updates may not have been executed.
-
-   * You can also use functions to update records in a single
-     operation. You can get a very efficient application by using the
-     following techniques:
-
-        * Modify columns relative to their current value.
-
-        * Update only those columns that actually have changed.
-
-     For example, when we are updating customer information, we update
-     only the customer data that has changed and test only that none of
-     the changed data, or data that depends on the changed data, has
-     changed compared to the original row. The test for changed data is
-     done with the `WHERE' clause in the *Note `UPDATE': update.
-     statement. If the record wasn't updated, we give the client a
-     message: `Some of the data you have changed has been changed by
-     another user.' Then we show the old row versus the new row in a
-     window so that the user can decide which version of the customer
-     record to use.
-
-     This gives us something that is similar to column locking but is
-     actually even better because we only update some of the columns,
-     using values that are relative to their current values. This means
-     that typical *Note `UPDATE': update. statements look something
-     like these:
-
-          UPDATE tablename SET pay_back=pay_back+125;
-
-          UPDATE customer
-            SET
-              customer_date='current_date',
-              address='new address',
-              phone='new phone',
-              money_owed_to_us=money_owed_to_us-125
-            WHERE
-              customer_id=id AND address='old address' AND phone='old phone';
-
-     This is very efficient and works even if another client has
-     changed the values in the `pay_back' or `money_owed_to_us' columns.
-
-   * In many cases, users have wanted *Note `LOCK TABLES': lock-tables.
-     or *Note `ROLLBACK': commit.  for the purpose of managing unique
-     identifiers. This can be handled much more efficiently without
-     locking or rolling back by using an `AUTO_INCREMENT' column and
-     either the `LAST_INSERT_ID()' SQL function or the *Note
-     `mysql_insert_id()': mysql-insert-id. C API function. See *Note
-     information-functions::, and *Note mysql-insert-id::.
-
-     You can generally code around the need for row-level locking. Some
-     situations really do need it, and `InnoDB' tables support row-level
-     locking. Otherwise, with `MyISAM' tables, you can use a flag
-     column in the table and do something like the following:
-
-          UPDATE TBL_NAME SET row_flag=1 WHERE id=ID;
-
-     MySQL returns `1' for the number of affected rows if the row was
-     found and `row_flag' wasn't `1' in the original row. You can think
-     of this as though MySQL Server changed the preceding statement to:
-
-          UPDATE TBL_NAME SET row_flag=1 WHERE id=ID AND row_flag <> 1;
-
-
-File: manual.info,  Node: ansi-diff-foreign-keys,  Next: ansi-diff-comments,  Prev: ansi-diff-transactions,  Up: differences-from-ansi
-
-2.8.5.4 Foreign Key Differences
-...............................
-
-The `InnoDB' storage engine supports checking of foreign key
-constraints, including `CASCADE', `ON DELETE', and `ON UPDATE'. See
-*Note innodb-foreign-key-constraints::.
-
-For storage engines other than `InnoDB', MySQL Server parses the
-`FOREIGN KEY' syntax in *Note `CREATE TABLE': create-table. statements,
-but does not use or store it. In the future, the implementation will be
-extended to store this information in the table specification file so
-that it may be retrieved by *Note `mysqldump': mysqldump. and ODBC. At
-a later stage, foreign key constraints will be implemented for `MyISAM'
-tables as well.
-
-Foreign key enforcement offers several benefits to database developers:
-
-   * Assuming proper design of the relationships, foreign key
-     constraints make it more difficult for a programmer to introduce
-     an inconsistency into the database.
-
-   * Centralized checking of constraints by the database server makes
-     it unnecessary to perform these checks on the application side.
-     This eliminates the possibility that different applications may
-     not all check the constraints in the same way.
-
-   * Using cascading updates and deletes can simplify the application
-     code.
-
-   * Properly designed foreign key rules aid in documenting
-     relationships between tables.
-
-Do keep in mind that these benefits come at the cost of additional
-overhead for the database server to perform the necessary checks.
-Additional checking by the server affects performance, which for some
-applications may be sufficiently undesirable as to be avoided if
-possible. (Some major commercial applications have coded the foreign
-key logic at the application level for this reason.)
-
-MySQL gives database developers the choice of which approach to use. If
-you don't need foreign keys and want to avoid the overhead associated
-with enforcing referential integrity, you can choose another storage
-engine instead, such as `MyISAM'. (For example, the `MyISAM' storage
-engine offers very fast performance for applications that perform only
-*Note `INSERT': insert. and *Note `SELECT': select. operations. In this
-case, the table has no holes in the middle and the inserts can be
-performed concurrently with retrievals. See *Note concurrent-inserts::.)
-
-If you choose not to take advantage of referential integrity checks,
-keep the following considerations in mind:
-
-   * In the absence of server-side foreign key relationship checking,
-     the application itself must handle relationship issues. For
-     example, it must take care to insert rows into tables in the
-     proper order, and to avoid creating orphaned child records. It
-     must also be able to recover from errors that occur in the middle
-     of multiple-record insert operations.
-
-   * If `ON DELETE' is the only referential integrity capability an
-     application needs, you can achieve a similar effect as of MySQL
-     Server 4.0 by using multiple-table *Note `DELETE': delete.
-     statements to delete rows from many tables with a single
-     statement. See *Note delete::.
-
-   * A workaround for the lack of `ON DELETE' is to add the appropriate
-     *Note `DELETE': delete. statements to your application when you
-     delete records from a table that has a foreign key. In practice,
-     this is often as quick as using foreign keys and is more portable.
-
-Be aware that the use of foreign keys can sometimes lead to problems:
-
-   * Foreign key support addresses many referential integrity issues,
-     but it is still necessary to design key relationships carefully to
-     avoid circular rules or incorrect combinations of cascading
-     deletes.
-
-   * It is not uncommon for a DBA to create a topology of relationships
-     that makes it difficult to restore individual tables from a
-     backup. (MySQL alleviates this difficulty by enabling you to
-     temporarily disable foreign key checks when reloading a table that
-     depends on other tables. See *Note
-     innodb-foreign-key-constraints::. As of MySQL 4.1.1, *Note
-     `mysqldump': mysqldump. generates dump files that take advantage
-     of this capability automatically when they are reloaded.)
-
-Foreign keys in SQL are used to check and enforce referential
-integrity, not to join tables. If you want to get results from multiple
-tables from a *Note `SELECT': select.  statement, you do this by
-performing a join between them:
-
-     SELECT * FROM t1 INNER JOIN t2 ON t1.id = t2.id;
-
-See *Note join::, and *Note example-foreign-keys::.
-
-The `FOREIGN KEY' syntax without `ON DELETE ...' is often used by ODBC
-applications to produce automatic `WHERE' clauses.
-
-
-File: manual.info,  Node: ansi-diff-comments,  Prev: ansi-diff-foreign-keys,  Up: differences-from-ansi
-
-2.8.5.5 '`--'' as the Start of a Comment
-........................................
-
-Standard SQL uses the C syntax `/* this is a comment */' for comments,
-and MySQL Server supports this syntax as well. MySQL also support
-extensions to this syntax that enable MySQL-specific SQL to be embedded
-in the comment, as described in *Note comments::.
-
-Standard SQL uses ``--'' as a start-comment sequence. MySQL Server uses
-``#'' as the start comment character. MySQL Server 3.23.3 and up also
-supports a variant of the ``--'' comment style.  That is, the ``--''
-start-comment sequence must be followed by a space (or by a control
-character such as a newline). The space is required to prevent problems
-with automatically generated SQL queries that use constructs such as
-the following, where we automatically insert the value of the payment
-for `payment':
-
-     UPDATE account SET credit=credit-payment
-
-Consider about what happens if `payment' has a negative value such as
-`-1':
-
-     UPDATE account SET credit=credit--1
-
-`credit--1' is a legal expression in SQL, but ``--'' is interpreted as
-the start of a comment, part of the expression is discarded. The result
-is a statement that has a completely different meaning than intended:
-
-     UPDATE account SET credit=credit
-
-The statement produces no change in value at all. This illustrates that
-permitting comments to start with ``--'' can have serious consequences.
-
-Using our implementation requires a space following the ``--'' for it
-to be recognized as a start-comment sequence in MySQL Server 3.23.3 and
-newer.  Therefore, `credit--1' is safe to use.
-
-Another safe feature is that the *Note `mysql': mysql.  command-line
-client ignores lines that start with ``--''.
-
-The following information is relevant only if you are running a MySQL
-version earlier than 3.23.3:
-
-If you have an SQL script in a text file that contains ``--'' comments,
-you should use the *Note `replace': replace-utility. utility as follows
-to convert the comments to use ``#'' characters before executing the
-script:
-
-     shell> replace " --" " #" < text-file-with-funny-comments.sql \
-              | mysql DB_NAME
-
-That is safer than executing the script in the usual way:
-
-     shell> mysql DB_NAME < text-file-with-funny-comments.sql
-
-You can also edit the script file `in place' to change the ``--''
-comments to ``#'' comments:
-
-     shell> replace " --" " #" -- text-file-with-funny-comments.sql
-
-Change them back with this command:
-
-     shell> replace " #" " --" -- text-file-with-funny-comments.sql
-
-See *Note replace-utility::.
-
-
-File: manual.info,  Node: constraints,  Prev: differences-from-ansi,  Up: compatibility
-
-2.8.6 How MySQL Deals with Constraints
---------------------------------------
-
-* Menu:
-
-* constraint-primary-key::       `PRIMARY KEY' and `UNIQUE' Index Constraints
-* constraint-invalid-data::      Constraints on Invalid Data
-* constraint-enum::              `ENUM' and `SET' Constraints
-
-MySQL enables you to work both with transactional tables that permit
-rollback and with nontransactional tables that do not.  Because of
-this, constraint handling is a bit different in MySQL than in other
-DBMSs. We must handle the case when you have inserted or updated a lot
-of rows in a nontransactional table for which changes cannot be rolled
-back when an error occurs.
-
-The basic philosophy is that MySQL Server tries to produce an error for
-anything that it can detect while parsing a statement to be executed,
-and tries to recover from any errors that occur while executing the
-statement. We do this in most cases, but not yet for all.
-
-The options MySQL has when an error occurs are to stop the statement in
-the middle or to recover as well as possible from the problem and
-continue. By default, the server follows the latter course. This means,
-for example, that the server may coerce illegal values to the closest
-legal values.
-
-Several SQL mode options are available to provide greater control over
-handling of bad data values and whether to continue statement execution
-or abort when errors occur. Using these options, you can configure
-MySQL Server to act in a more traditional fashion that is like other
-DBMSs that reject improper input. The SQL mode can be set globally at
-server startup to affect all clients. Individual clients can set the
-SQL mode at runtime, which enables each client to select the behavior
-most appropriate for its requirements. See *Note server-sql-mode::.
-
-The following sections describe how MySQL Server handles different
-types of constraints.
-
-
-File: manual.info,  Node: constraint-primary-key,  Next: constraint-invalid-data,  Prev: constraints,  Up: constraints
-
-2.8.6.1 `PRIMARY KEY' and `UNIQUE' Index Constraints
-....................................................
-
-Normally, errors occurs for data-change statements (such as *Note
-`INSERT': insert. or *Note `UPDATE': update.) that would violate
-primary-key, unique-key, or foreign-key constraints. If you are using a
-transactional storage engine such as `InnoDB', MySQL automatically
-rolls back the statement. If you are using a nontransactional storage
-engine, MySQL stops processing the statement at the row for which the
-error occurred and leaves any remaining rows unprocessed.
-
-MySQL supports an `IGNORE' keyword for *Note `INSERT': insert, *Note
-`UPDATE': update, and so forth. If you use it, MySQL ignores
-primary-key or unique-key violations and continues processing with the
-next row. See the section for the statement that you are using (*Note
-insert::, *Note update::, and so forth).
-
-You can get information about the number of rows actually inserted or
-updated with the *Note `mysql_info()': mysql-info. C API function.  You
-can also use the *Note `SHOW WARNINGS': show-warnings. statement. See
-*Note mysql-info::, and *Note show-warnings::.
-
-Currently, only `InnoDB' tables support foreign keys. See *Note
-innodb-foreign-key-constraints::.
-
-
-File: manual.info,  Node: constraint-invalid-data,  Next: constraint-enum,  Prev: constraint-primary-key,  Up: constraints
-
-2.8.6.2 Constraints on Invalid Data
-...................................
-
-By default, MySQL is forgiving of illegal or improper data values and
-coerces them to legal values for data entry.  However, you can change
-the server SQL mode to select more traditional treatment of bad values
-such that the server rejects them and aborts the statement in which
-they occur. See *Note server-sql-mode::.
-
-This section describes the default (forgiving) behavior of MySQL, as
-well as the strict SQL mode and how it differs.
-
-If you are not using strict mode, then whenever you insert an
-`incorrect' value into a column, such as a `NULL' into a `NOT NULL'
-column or a too-large numeric value into a numeric column, MySQL sets
-the column to the `best possible value' instead of producing an error:
-The following rules describe in more detail how this works:
-
-   * If you try to store an out of range value into a numeric column,
-     MySQL Server instead stores zero, the smallest possible value, or
-     the largest possible value, whichever is closest to the invalid
-     value.
-
-   * For strings, MySQL stores either the empty string or as much of
-     the string as can be stored in the column.
-
-   * If you try to store a string that doesn't start with a number into
-     a numeric column, MySQL Server stores 0.
-
-   * Invalid values for *Note `ENUM': enum. and *Note `SET': set.
-     columns are handled as described in *Note constraint-enum::.
-
-   * MySQL enables you to store certain incorrect date values into
-     *Note `DATE': datetime. and *Note `DATETIME': datetime. columns
-     (such as `'2000-02-31'' or `'2000-02-00''). The idea is that it is
-     not the job of the SQL server to validate dates. If MySQL can
-     store a date value and retrieve exactly the same value, MySQL
-     stores it as given. If the date is totally wrong (outside the
-     server's ability to store it), the special `zero' date value
-     `'0000-00-00'' is stored in the column instead.
-
-   * If you try to store `NULL' into a column that doesn't take `NULL'
-     values, an error occurs for single-row *Note `INSERT': insert.
-     statements. For multiple-row *Note `INSERT': insert.  statements
-     or for *Note `INSERT INTO ... SELECT': insert-select. statements,
-     MySQL Server stores the implicit default value for the column data
-     type. In general, this is `0' for numeric types, the empty string
-     (`''') for string types, and the `zero' value for date and time
-     types.  Implicit default values are discussed in *Note
-     data-type-defaults::.
-
-   * If an *Note `INSERT': insert. statement specifies no value for a
-     column, MySQL inserts its default value if the column definition
-     includes an explicit `DEFAULT' clause. If the definition has no
-     such `DEFAULT' clause, MySQL inserts the implicit default value
-     for the column data type.
-
-The reason for using the preceding rules in nonstrict mode is that we
-can't check these conditions until the statement has begun executing.
-We can't just roll back if we encounter a problem after updating a few
-rows, because the storage engine may not support rollback. The option
-of terminating the statement is not that good; in this case, the update
-would be `half done,' which is probably the worst possible scenario. In
-this case, it is better to `do the best you can' and then continue as
-if nothing happened.
-
-In MySQL 5.0.2 and up, you can select stricter treatment of input
-values by using the `STRICT_TRANS_TABLES' or `STRICT_ALL_TABLES' SQL
-modes:
-
-     SET sql_mode = 'STRICT_TRANS_TABLES';
-     SET sql_mode = 'STRICT_ALL_TABLES';
-
-`STRICT_TRANS_TABLES' enables strict mode for transactional storage
-engines, and also to some extent for nontransactional engines. It works
-like this:
-
-   * For transactional storage engines, bad data values occurring
-     anywhere in a statement cause the statement to abort and roll back.
-
-   * For nontransactional storage engines, a statement aborts if the
-     error occurs in the first row to be inserted or updated. (When the
-     error occurs in the first row, the statement can be aborted to
-     leave the table unchanged, just as for a transactional table.)
-     Errors in rows after the first do not abort the statement, because
-     the table has already been changed by the first row. Instead, bad
-     data values are adjusted and result in warnings rather than
-     errors. In other words, with `STRICT_TRANS_TABLES', a wrong value
-     causes MySQL to roll back all updates done so far, if that can be
-     done without changing the table. But once the table has been
-     changed, further errors result in adjustments and warnings.
-
-For even stricter checking, enable `STRICT_ALL_TABLES'. This is the
-same as `STRICT_TRANS_TABLES' except that for nontransactional storage
-engines, errors abort the statement even for bad data in rows following
-the first row.  This means that if an error occurs partway through a
-multiple-row insert or update for a nontransactional table, a partial
-update results. Earlier rows are inserted or updated, but those from
-the point of the error on are not. To avoid this for nontransactional
-tables, either use single-row statements or else use
-`STRICT_TRANS_TABLES' if conversion warnings rather than errors are
-acceptable. To avoid problems in the first place, do not use MySQL to
-check column content. It is safest (and often faster) to let the
-application ensure that it passes only legal values to the database.
-
-With either of the strict mode options, you can cause errors to be
-treated as warnings by using *Note `INSERT IGNORE': insert. or `UPDATE
-IGNORE' rather than *Note `INSERT': insert. or *Note `UPDATE': update.
-without `IGNORE'.
-
-
-File: manual.info,  Node: constraint-enum,  Prev: constraint-invalid-data,  Up: constraints
-
-2.8.6.3 `ENUM' and `SET' Constraints
-....................................
-
-*Note `ENUM': enum. and *Note `SET': set. columns provide an efficient
-way to define columns that can contain only a given set of values. See
-*Note enum::, and *Note set::. However, before MySQL 5.0.2, *Note
-`ENUM': enum. and *Note `SET': set. columns do not provide true
-constraints on entry of invalid data:
-
-   * *Note `ENUM': enum. columns always have a default value. If you
-     specify no default value, then it is `NULL' for columns that can
-     have `NULL', otherwise it is the first enumeration value in the
-     column definition.
-
-   * If you insert an incorrect value into an *Note `ENUM': enum.
-     column or if you force a value into an *Note `ENUM': enum. column
-     with `IGNORE', it is set to the reserved enumeration value of `0',
-     which is displayed as an empty string in string context.
-
-   * If you insert an incorrect value into a *Note `SET': set. column,
-     the incorrect value is ignored. For example, if the column can
-     contain the values `'a'', `'b'', and `'c'', an attempt to assign
-     `'a,x,b,y'' results in a value of `'a,b''.
-
-As of MySQL 5.0.2, you can configure the server to use strict SQL mode.
-See *Note server-sql-mode::. With strict mode enabled, the definition
-of a *Note `ENUM': enum. or *Note `SET': set. column does act as a
-constraint on values entered into the column. An error occurs for
-values that do not satisfy these conditions:
-
-   * An *Note `ENUM': enum. value must be one of those listed in the
-     column definition, or the internal numeric equivalent thereof. The
-     value cannot be the error value (that is, 0 or the empty string).
-     For a column defined as *Note `ENUM('a','b','c')': enum, values
-     such as `''', `'d'', or `'ax'' are illegal and are rejected.
-
-   * A *Note `SET': set. value must be the empty string or a value
-     consisting only of the values listed in the column definition
-     separated by commas. For a column defined as *Note
-     `SET('a','b','c')': set, values such as `'d'' or `'a,b,c,d'' are
-     illegal and are rejected.
-
-Errors for invalid values can be suppressed in strict mode if you use
-*Note `INSERT IGNORE': insert. or `UPDATE IGNORE'. In this case, a
-warning is generated rather than an error. For *Note `ENUM': enum, the
-value is inserted as the error member (`0'). For *Note `SET': set, the
-value is inserted as given except that any invalid substrings are
-deleted. For example, `'a,x,b,y'' results in a value of `'a,b''.
-
-
-File: manual.info,  Node: credits,  Prev: compatibility,  Up: introduction
-
-2.9 Credits
-===========
-
-* Menu:
-
-* contributors::                 Contributors to MySQL
-* documenters-translators::      Documenters and translators
-* packages::                     Packages that support MySQL
-* tools-used-to-create-mysql::   Tools that were used to create MySQL
-* supporters::                   Supporters of MySQL
-
-The following sections list developers, contributors, and supporters
-that have helped to make MySQL what it is today.
-
-
-File: manual.info,  Node: contributors,  Next: documenters-translators,  Prev: credits,  Up: credits
-
-2.9.1 Contributors to MySQL
----------------------------
-
-Although Oracle Corporation and/or its affiliates own all copyrights in
-the `MySQL server' and the `MySQL manual', we wish to recognize those
-who have made contributions of one kind or another to the `MySQL
-distribution'. Contributors are listed here, in somewhat random order:
-
-   * Gianmassimo Vigazzola <qwerg@mbox.vol.it> or <qwerg@tin.it>
-
-     The initial port to Win32/NT.
-
-   * Per Eric Olsson
-
-     For constructive criticism and real testing of the dynamic record
-     format.
-
-   * Irena Pancirov <irena@mail.yacc.it>
-
-     Win32 port with Borland compiler.  `mysqlshutdown.exe' and
-     `mysqlwatch.exe'.
-
-   * David J. Hughes
-
-     For the effort to make a shareware SQL database. At TcX, the
-     predecessor of MySQL AB, we started with `mSQL', but found that it
-     couldn't satisfy our purposes so instead we wrote an SQL interface
-     to our application builder Unireg. *Note `mysqladmin': mysqladmin.
-     and *Note `mysql': mysql. client are programs that were largely
-     influenced by their `mSQL' counterparts. We have put a lot of
-     effort into making the MySQL syntax a superset of `mSQL'. Many of
-     the API's ideas are borrowed from `mSQL' to make it easy to port
-     free `mSQL' programs to the MySQL API.  The MySQL software doesn't
-     contain any code from `mSQL'. Two files in the distribution
-     (`client/insert_test.c' and `client/select_test.c') are based on
-     the corresponding (noncopyrighted) files in the `mSQL'
-     distribution, but are modified as examples showing the changes
-     necessary to convert code from `mSQL' to MySQL Server.  (`mSQL' is
-     copyrighted David J. Hughes.)
-
-   * Patrick Lynch
-
-     For helping us acquire http://www.mysql.com/.
-
-   * Fred Lindberg
-
-     For setting up qmail to handle the MySQL mailing list and for the
-     incredible help we got in managing the MySQL mailing lists.
-
-   * Igor Romanenko <igor@frog.kiev.ua>
-
-     *Note `mysqldump': mysqldump. (previously `msqldump', but ported
-     and enhanced by Monty).
-
-   * Yuri Dario
-
-     For keeping up and extending the MySQL OS/2 port.
-
-   * Tim Bunce
-
-     Author of *Note `mysqlhotcopy': mysqlhotcopy.
-
-   * Zarko Mocnik <zarko.mocnik@dem.si>
-
-     Sorting for Slovenian language.
-
-   * "TAMITO" <tommy@valley.ne.jp>
-
-     The `_MB' character set macros and the ujis and sjis character
-     sets.
-
-   * Joshua Chamas <joshua@chamas.com>
-
-     Base for concurrent insert, extended date syntax, debugging on NT,
-     and answering on the MySQL mailing list.
-
-   * Yves Carlier <Yves.Carlier@rug.ac.be>
-
-     *Note `mysqlaccess': mysqlaccess, a program to show the access
-     rights for a user.
-
-   * Rhys Jones <rhys@wales.com> (And GWE Technologies Limited)
-
-     For one of the early JDBC drivers.
-
-   * Dr Xiaokun Kelvin ZHU <X.Zhu@brad.ac.uk>
-
-     Further development of one of the early JDBC drivers and other
-     MySQL-related Java tools.
-
-   * James Cooper <pixel@organic.com>
-
-     For setting up a searchable mailing list archive at his site.
-
-   * Rick Mehalick <Rick_Mehalick@i-o.com>
-
-     For `xmysql', a graphical X client for MySQL Server.
-
-   * Doug Sisk <sisk@wix.com>
-
-     For providing RPM packages of MySQL for Red Hat Linux.
-
-   * Diemand Alexander V. <axeld@vial.ethz.ch>
-
-     For providing RPM packages of MySQL for Red Hat Linux-Alpha.
-
-   * Antoni Pamies Olive <toni@readysoft.es>
-
-     For providing RPM versions of a lot of MySQL clients for Intel and
-     SPARC.
-
-   * Jay Bloodworth <jay@pathways.sde.state.sc.us>
-
-     For providing RPM versions for MySQL 3.21.
-
-   * David Sacerdote <davids@secnet.com>
-
-     Ideas for secure checking of DNS host names.
-
-   * Wei-Jou Chen <jou@nematic.ieo.nctu.edu.tw>
-
-     Some support for Chinese(BIG5) characters.
-
-   * Wei He <hewei@mail.ied.ac.cn>
-
-     A lot of functionality for the Chinese(GBK) character set.
-
-   * Jan Pazdziora <adelton@fi.muni.cz>
-
-     Czech sorting order.
-
-   * Zeev Suraski <bourbon@netvision.net.il>
-
-     `FROM_UNIXTIME()' time formatting, `ENCRYPT()' functions, and
-     `bison' advisor. Active mailing list member.
-
-   * Luuk de Boer <luuk@wxs.nl>
-
-     Ported (and extended) the benchmark suite to `DBI'/`DBD'. Have
-     been of great help with `crash-me' and running benchmarks. Some
-     new date functions. The *Note `mysql_setpermission':
-     mysql-setpermission. script.
-
-   * Alexis Mikhailov <root@medinf.chuvashia.su>
-
-     User-defined functions (UDFs); *Note `CREATE FUNCTION':
-     create-function. and *Note `DROP FUNCTION': drop-function.
-
-   * Andreas F. Bobak <bobak@relog.ch>
-
-     The `AGGREGATE' extension to user-defined functions.
-
-   * Ross Wakelin <R.Wakelin@march.co.uk>
-
-     Help to set up InstallShield for MySQL-Win32.
-
-   * Jethro Wright III <jetman@li.net>
-
-     The `libmysql.dll' library.
-
-   * James Pereria <jpereira@iafrica.com>
-
-     Mysqlmanager, a Win32 GUI tool for administering MySQL Servers.
-
-   * Curt Sampson <cjs@portal.ca>
-
-     Porting of MIT-pthreads to NetBSD/Alpha and NetBSD 1.3/i386.
-
-   * Martin Ramsch <m.ramsch@computer.org>
-
-     Examples in the MySQL Tutorial.
-
-   * Steve Harvey
-
-     For making *Note `mysqlaccess': mysqlaccess. more secure.
-
-   * Konark IA-64 Centre of Persistent Systems Private Limited
-
-     `http://www.pspl.co.in/konark/'. Help with the Win64 port of the
-     MySQL server.
-
-   * Albert Chin-A-Young.
-
-     Configure updates for Tru64, large file support and better TCP
-     wrappers support.
-
-   * John Birrell
-
-     Emulation of `pthread_mutex()' for OS/2.
-
-   * Benjamin Pflugmann
-
-     Extended `MERGE' tables to handle `INSERTS'. Active member on the
-     MySQL mailing lists.
-
-   * Jocelyn Fournier
-
-     Excellent spotting and reporting innumerable bugs (especially in
-     the MySQL 4.1 subquery code).
-
-   * Marc Liyanage
-
-     Maintaining the Mac OS X packages and providing invaluable
-     feedback on how to create Mac OS X packages.
-
-   * Robert Rutherford
-
-     Providing invaluable information and feedback about the QNX port.
-
-   * Previous developers of NDB Cluster
-
-     Lots of people were involved in various ways summer students,
-     master thesis students, employees. In total more than 100 people
-     so too many to mention here. Notable name is Ataullah Dabaghi who
-     up until 1999 contributed around a third of the code base. A
-     special thanks also to developers of the AXE system which provided
-     much of the architectural foundations for NDB Cluster with blocks,
-     signals and crash tracing functionality. Also credit should be
-     given to those who believed in the ideas enough to allocate of
-     their budgets for its development from 1992 to present time.
-
-   * Google Inc.
-
-     We wish to recognize Google Inc. for contributions to the MySQL
-     distribution: Mark Callaghan's SMP Performance patches and other
-     patches.
-
-Other contributors, bugfinders, and testers: James H. Thompson,
-Maurizio Menghini, Wojciech Tryc, Luca Berra, Zarko Mocnik, Wim Bonis,
-Elmar Haneke, <jehamby@lightside>, <psmith@BayNetworks.com>,
-<duane@connect.com.au>, Ted Deppner <ted@psyber.com>, Mike Simons,
-Jaakko Hyvatti.
-
-And lots of bug report/patches from the folks on the mailing list.
-
-A big tribute goes to those that help us answer questions on the MySQL
-mailing lists:
-
-   * Daniel Koch <dkoch@amcity.com>
-
-     Irix setup.
-
-   * Luuk de Boer <luuk@wxs.nl>
-
-     Benchmark questions.
-
-   * Tim Sailer <tps@users.buoy.com>
-
-     `DBD::mysql' questions.
-
-   * Boyd Lynn Gerber <gerberb@zenez.com>
-
-     SCO-related questions.
-
-   * Richard Mehalick <RM186061@shellus.com>
-
-     `xmysql'-related questions and basic installation questions.
-
-   * Zeev Suraski <bourbon@netvision.net.il>
-
-     Apache module configuration questions (log & auth), PHP-related
-     questions, SQL syntax-related questions and other general
-     questions.
-
-   * Francesc Guasch <frankie@citel.upc.es>
-
-     General questions.
-
-   * Jonathan J Smith <jsmith@wtp.net>
-
-     Questions pertaining to OS-specifics with Linux, SQL syntax, and
-     other things that might need some work.
-
-   * David Sklar <sklar@student.net>
-
-     Using MySQL from PHP and Perl.
-
-   * Alistair MacDonald <A.MacDonald@uel.ac.uk>
-
-     Is flexible and can handle Linux and perhaps HP-UX.
-
-   * John Lyon <jlyon@imag.net>
-
-     Questions about installing MySQL on Linux systems, using either
-     `.rpm' files or compiling from source.
-
-   * Lorvid Ltd. <lorvid@WOLFENET.com>
-
-     Simple billing/license/support/copyright issues.
-
-   * Patrick Sherrill <patrick@coconet.com>
-
-     ODBC and VisualC++ interface questions.
-
-   * Randy Harmon <rjharmon@uptimecomputers.com>
-
-     `DBD', Linux, some SQL syntax questions.
-
-
-File: manual.info,  Node: documenters-translators,  Next: packages,  Prev: contributors,  Up: credits
-
-2.9.2 Documenters and translators
----------------------------------
-
-The following people have helped us with writing the MySQL
-documentation and translating the documentation or error messages in
-MySQL.
-
-   * Paul DuBois
-
-     Ongoing help with making this manual correct and understandable.
-     That includes rewriting Monty's and David's attempts at English
-     into English as other people know it.
-
-   * Kim Aldale
-
-     Helped to rewrite Monty's and David's early attempts at English
-     into English.
-
-   * Michael J. Miller Jr.  <mke@terrapin.turbolift.com>
-
-     For the first MySQL manual. And a lot of spelling/language fixes
-     for the FAQ (that turned into the MySQL manual a long time ago).
-
-   * Yan Cailin
-
-     First translator of the MySQL Reference Manual into simplified
-     Chinese in early 2000 on which the Big5 and HK coded
-     (`http://mysql.hitstar.com/') versions were based. Personal home
-     page at linuxdb.yeah.net (http://linuxdb.yeah.net).
-
-   * Jay Flaherty <fty@mediapulse.com>
-
-     Big parts of the Perl `DBI'/`DBD' section in the manual.
-
-   * Paul Southworth <pauls@etext.org>, Ray Loyzaga <yar@cs.su.oz.au>
-
-     Proof-reading of the Reference Manual.
-
-   * Therrien Gilbert <gilbert@ican.net>, Jean-Marc Pouyot
-     <jmp@scalaire.fr>
-
-     French error messages.
-
-   * Petr Snajdr, <snajdr@pvt.net>
-
-     Czech error messages.
-
-   * Jaroslaw Lewandowski <jotel@itnet.com.pl>
-
-     Polish error messages.
-
-   * Miguel Angel Fernandez Roiz
-
-     Spanish error messages.
-
-   * Roy-Magne Mo <rmo@www.hivolda.no>
-
-     Norwegian error messages and testing of MySQL 3.21.xx.
-
-   * Timur I. Bakeyev <root@timur.tatarstan.ru>
-
-     Russian error messages.
-
-   * <brenno@dewinter.com> & Filippo Grassilli <phil@hyppo.com>
-
-     Italian error messages.
-
-   * Dirk Munzinger <dirk@trinity.saar.de>
-
-     German error messages.
-
-   * Billik Stefan <billik@sun.uniag.sk>
-
-     Slovak error messages.
-
-   * Stefan Saroiu <tzoompy@cs.washington.edu>
-
-     Romanian error messages.
-
-   * Peter Feher
-
-     Hungarian error messages.
-
-   * Roberto M. Serqueira
-
-     Portuguese error messages.
-
-   * Carsten H. Pedersen
-
-     Danish error messages.
-
-   * Arjen Lentz
-
-     Dutch error messages, completing earlier partial translation (also
-     work on consistency and spelling).
-
-
-File: manual.info,  Node: packages,  Next: tools-used-to-create-mysql,  Prev: documenters-translators,  Up: credits
-
-2.9.3 Packages that support MySQL
----------------------------------
-
-The following is a list of creators/maintainers of some of the most
-important API/packages/applications that a lot of people use with MySQL.
-
-We cannot list every possible package here because the list would then
-be way to hard to maintain. For other packages, please refer to the
-software portal at `http://solutions.mysql.com/software/'.
-
-   * Tim Bunce, Alligator Descartes
-
-     For the `DBD' (Perl) interface.
-
-   * Andreas Koenig <a.koenig@mind.de>
-
-     For the Perl interface for MySQL Server.
-
-   * Jochen Wiedmann <wiedmann@neckar-alb.de>
-
-     For maintaining the Perl `DBD::mysql' module.
-
-   * Eugene Chan <eugene@acenet.com.sg>
-
-     For porting PHP for MySQL Server.
-
-   * Georg Richter
-
-     MySQL 4.1 testing and bug hunting. New PHP 5.0 `mysqli' extension
-     (API) for use with MySQL 4.1 and up.
-
-   * Giovanni Maruzzelli <maruzz@matrice.it>
-
-     For porting iODBC (Unix ODBC).
-
-   * Xavier Leroy <Xavier.Leroy@inria.fr>
-
-     The author of LinuxThreads (used by the MySQL Server on Linux).
-
-
-File: manual.info,  Node: tools-used-to-create-mysql,  Next: supporters,  Prev: packages,  Up: credits
-
-2.9.4 Tools that were used to create MySQL
-------------------------------------------
-
-The following is a list of some of the tools we have used to create
-MySQL. We use this to express our thanks to those that has created them
-as without these we could not have made MySQL what it is today.
-
-   * Free Software Foundation
-
-     From whom we got an excellent compiler (`gcc'), an excellent
-     debugger (`gdb' and the `libc' library (from which we have borrowed
-     `strto.c' to get some code working in Linux).
-
-   * Free Software Foundation & The XEmacs development team
-
-     For a really great editor/environment.
-
-   * Julian Seward
-
-     Author of `valgrind', an excellent memory checker tool that has
-     helped us find a lot of otherwise hard to find bugs in MySQL.
-
-   * Dorothea Lu"tkehaus and Andreas Zeller
-
-     For `DDD' (The Data Display Debugger) which is an excellent
-     graphical front end to `gdb').
-
-
-File: manual.info,  Node: supporters,  Prev: tools-used-to-create-mysql,  Up: credits
-
-2.9.5 Supporters of MySQL
--------------------------
-
-Although Oracle Corporation and/or its affiliates own all copyrights in
-the `MySQL server' and the `MySQL manual', we wish to recognize the
-following companies, which helped us finance the development of the
-`MySQL server', such as by paying us for developing a new feature or
-giving us hardware for development of the `MySQL server'.
-
-   * VA Linux / Andover.net
-
-     Funded replication.
-
-   * NuSphere
-
-     Editing of the MySQL manual.
-
-   * Stork Design studio
-
-     The MySQL Web site in use between 1998-2000.
-
-   * Intel
-
-     Contributed to development on Windows and Linux platforms.
-
-   * Compaq
-
-     Contributed to Development on Linux/Alpha.
-
-   * SWSoft
-
-     Development on the embedded *Note `mysqld': mysqld. version.
-
-   * FutureQuest
-
-     The `--skip-show-database' option.
-
-
-File: manual.info,  Node: installing,  Next: tutorial,  Prev: introduction,  Up: Top
-
-3 Installing and Upgrading MySQL
-********************************
-
-* Menu:
-
-* general-installation-issues::  General Installation Guidance
-* binary-installation::          Installing MySQL from Generic Binaries on Unix/Linux
-* windows-installation::         Installing MySQL on Microsoft Windows
-* macosx-installation::          Installing MySQL on Mac OS X
-* linux-installation::           Installing MySQL on Linux
-* solaris-installation::         Installing MySQL on Solaris and OpenSolaris
-* hpux-installation::            Installing MySQL on HP-UX
-* freebsd-installation::         Installing MySQL on FreeBSD
-* source-installation::          Installing MySQL from Source
-* postinstallation::             Postinstallation Setup and Testing
-* upgrading-downgrading::        Upgrading or Downgrading MySQL
-* environment-variables::        Environment Variables
-* perl-support::                 Perl Installation Notes
-
-This chapter describes how to obtain and install MySQL. A summary of
-the procedure follows and later sections provide the details. If you
-plan to upgrade an existing version of MySQL to a newer version rather
-than install MySQL for the first time, see *Note upgrading::, for
-information about upgrade procedures and about issues that you should
-consider before upgrading.
-
-If you are interested in migrating to MySQL from another database
-system, you may wish to read *Note faqs-migration::, which contains
-answers to some common questions concerning migration issues.
-
-  1. *Determine whether MySQL runs and is supported on your platform.*
-
-     Please note that not all platforms are equally suitable for
-     running MySQL, and that not all platforms on which MySQL is known
-     to run are officially supported by Oracle Corporation:
-
-  2. *Choose which distribution to install.*
-
-     Several versions of MySQL are available, and most are available in
-     several distribution formats. You can choose from pre-packaged
-     distributions containing binary (precompiled) programs or source
-     code. When in doubt, use a binary distribution. We also provide
-     public access to our current source tree for those who want to see
-     our most recent developments and help us test new code. To
-     determine which version and type of distribution you should use,
-     see *Note which-version::.
-
-  3. *Download the distribution that you want to install.*
-
-     For instructions, see *Note getting-mysql::. To verify the
-     integrity of the distribution, use the instructions in *Note
-     verifying-package-integrity::.
-
-  4. *Install the distribution.*
-
-     To install MySQL from a binary distribution, use the instructions
-     in *Note binary-installation::.
-
-     To install MySQL from a source distribution or from the current
-     development source tree, use the instructions in *Note
-     source-installation::.
-
-  5. *Perform any necessary postinstallation setup.*
-
-     After installing MySQL, read *Note postinstallation::.  This
-     section contains important information about making sure the MySQL
-     server is working properly. It also describes how to secure the
-     initial MySQL user accounts, _which have no passwords_ until you
-     assign passwords. The section applies whether you install MySQL
-     using a binary or source distribution.
-
-  6. If you want to run the MySQL benchmark scripts, Perl support for
-     MySQL must be available. See *Note perl-support::.
-
-Instructions for installing MySQL on different platforms and
-environments is available on a platform by platform basis:
-
-   * *Unix, Linux, FreeBSD*
-
-     For instructions on installing MySQL on most Linux and Unix
-     platforms using a generic binary (for example, a `.tar.gz'
-     package), see *Note binary-installation::.
-
-     For information on building MySQL entirely from the source code
-     distributions or the source code repositories, see *Note
-     source-installation::
-
-     For specific platform help on installation, configuration, and
-     building from source see the corresponding platform section:
-
-        * Linux, including notes on distribution specific methods, see
-          *Note linux-installation::.
-
-        * Solaris and OpenSolaris, including PKG and IPS formats, see
-          *Note solaris-installation::.
-
-        * IBM AIX, see *Note solaris-installation::.
-
-        * Hewlett-Packard HP-UX, including the DEPOT package format,
-          see *Note hpux-installation::.
-
-        * FreeBSD, see *Note freebsd-installation::.
-
-   * *Microsoft Windows*
-
-     For instructions on installing MySQL on Microsoft Windows, using
-     either a Zipped binary or an MSI package, see *Note
-     windows-installation::.
-
-     For information on using the MySQL Server Instance Config Wizard,
-     see *Note mysql-config-wizard::.
-
-     For details and instructions on building MySQL from source code
-     using Microsoft Visual Studio, see *Note source-installation::.
-
-   * *Mac OS X*
-
-     For installation on Mac OS X, including using both the binary
-     package and native PKG formats, see *Note macosx-installation::.
-
-     For information on making use of the MySQL Startup Item to
-     automatically start and stop MySQL, see *Note
-     macosx-installation-startupitem::.
-
-     For information on the MySQL Preference Pane, see *Note
-     macosx-installation-prefpane::.
-
-   * *IBM i5/OS*
-
-
-File: manual.info,  Node: general-installation-issues,  Next: binary-installation,  Prev: installing,  Up: installing
-
-3.1 General Installation Guidance
-=================================
-
-* Menu:
-
-* supported-os::                 Operating Systems Supported by MySQL Community Server
-* which-version::                Choosing Which MySQL Distribution to Install
-* getting-mysql::                How to Get MySQL
-* verifying-package-integrity::  Verifying Package Integrity Using MD5 Checksums or `GnuPG'
-* installation-layouts::         Installation Layouts
-* compiler-characteristics::     Compiler-Specific Build Characteristics
-
-The immediately following sections contain the information necessary to
-choose, download, and verify your distribution. The instructions in
-later sections of the chapter describe how to install the distribution
-that you choose. For binary distributions, see the instructions at
-*Note binary-installation:: or the corresponding section for your
-platform if available. To build MySQL from source, use the instructions
-in *Note source-installation::.
-
-
-File: manual.info,  Node: supported-os,  Next: which-version,  Prev: general-installation-issues,  Up: general-installation-issues
-
-3.1.1 Operating Systems Supported by MySQL Community Server
------------------------------------------------------------
-
-This section lists the operating systems on which MySQL Community
-Server is known to run.
-
-*Important*:
-
-Oracle Corporation does not necessarily provide official support for
-all the platforms listed in this section. For information about those
-platforms that are officially supported, see
-http://www.mysql.com/support/supportedplatforms.html on the MySQL Web
-site.
-
-We use `CMake', so it is possible to port MySQL to all modern systems
-that have a C++ compiler and a working implementation of POSIX threads.
-(Thread support is needed for the server. To compile only the client
-code, the only requirement is a C++ compiler.)
-
-MySQL has been reported to compile successfully on the following
-combinations of operating system and thread package.
-
-   * FreeBSD 5.x and up with native threads. See *Note
-     freebsd-installation::.
-
-   * HP-UX 11.x with the native threads. See *Note hpux-installation::.
-
-   * Linux. Builds on all recent Linux distributions based on the 2.6
-     kernel. See *Note linux-installation::.
-
-   * Mac OS X. See *Note macosx-installation::.
-
-   * Solaris 2.8 on SPARC and x86, including support for native
-     threads. See *Note solaris-installation::.
-
-   * Windows XP, Windows Vista, Windows Server 2003, and Windows Server
-     2008. See *Note windows-installation::.
-
-MySQL has also been known to run on other systems in the past. See
-*Note general-installation-issues::. Some porting effort might be
-required for current versions of MySQL on these systems.
-
-Not all platforms are equally well-suited for running MySQL. How well a
-certain platform is suited for a high-load mission-critical MySQL
-server is determined by the following factors:
-
-   * General stability of the thread library. A platform may have an
-     excellent reputation otherwise, but MySQL is only as stable as the
-     thread library it calls, even if everything else is perfect.
-
-   * The capability of the kernel and the thread library to take
-     advantage of symmetric multi-processor (SMP) systems. In other
-     words, when a process creates a thread, it should be possible for
-     that thread to run on a CPU different from the original process.
-
-   * The capability of the kernel and the thread library to run many
-     threads that acquire and release a mutex over a short critical
-     region frequently without excessive context switches.  If the
-     implementation of `pthread_mutex_lock()' is too anxious to yield
-     CPU time, this hurts MySQL tremendously. If this issue is not
-     taken care of, adding extra CPUs actually makes MySQL slower.
-
-   * General file system stability and performance.
-
-   * Table size. If your tables are large, performance is affected by
-     the ability of the file system to deal with large files and
-     dealing with them efficiently.
-
-   * Our level of expertise here at Oracle Corporation with the
-     platform. If we know a platform well, we enable platform-specific
-     optimizations and fixes at compile time. We can also provide
-     advice on configuring your system optimally for MySQL.
-
-   * The amount of testing we have done internally for similar
-     configurations.
-
-   * The number of users that have run MySQL successfully on the
-     platform in similar configurations. If this number is high, the
-     likelihood of encountering platform-specific surprises is much
-     smaller.
-
-
-File: manual.info,  Node: which-version,  Next: getting-mysql,  Prev: supported-os,  Up: general-installation-issues
-
-3.1.2 Choosing Which MySQL Distribution to Install
---------------------------------------------------
-
-* Menu:
-
-* choosing-version::             Choosing Which Version of MySQL to Install
-* choosing-distribution-format::  Choosing a Distribution Format
-* many-versions::                How and When Updates Are Released
-
-When preparing to install MySQL, you should decide which version to
-use. MySQL development occurs in several release series, and you can
-pick the one that best fits your needs. After deciding which version to
-install, you can choose a distribution format.  Releases are available
-in binary or source format.
-
-
-File: manual.info,  Node: choosing-version,  Next: choosing-distribution-format,  Prev: which-version,  Up: which-version
-
-3.1.2.1 Choosing Which Version of MySQL to Install
-..................................................
-
-The first decision to make is whether you want to use a production
-(stable) release or a development release. In the MySQL development
-process, multiple release series co-exist, each at a different stage of
-maturity.
-
-* Production Releases *
-   * MySQL 5.5: Latest General Availability (Production) release
-
-   * MySQL 5.1: Previous stable (production-quality) release
-
-   * MySQL 5.0: Older stable release nearing the end of the product
-     lifecycle
-
-* Development Release *
-   * MySQL 5.6: Current release under development (pre-Production)
-
-MySQL 4.1, 4.0, and 3.23 are old releases that are no longer supported.
-
-See http://www.mysql.com/about/legal/lifecycle/ for information about
-support policies and schedules.
-
-Normally, if you are beginning to use MySQL for the first time or
-trying to port it to some system for which there is no binary
-distribution, use the most recent General Availability series listed in
-the preceding descriptions. All MySQL releases, even those from
-development series, are checked with the MySQL benchmarks and an
-extensive test suite before being issued.
-
-If you are running an older system and want to upgrade, but do not want
-to take the chance of having a nonseamless upgrade, you should upgrade
-to the latest version in the same release series you are using (where
-only the last part of the version number is newer than yours). We have
-tried to fix only fatal bugs and make only small, relatively `safe'
-changes to that version.
-
-If you want to use new features not present in the production release
-series, you can use a version from a development series.  Be aware that
-development releases are not as stable as production releases.
-
-We do not use a complete code freeze because this prevents us from
-making bugfixes and other fixes that must be done. We may add small
-things that should not affect anything that currently works in a
-production release. Naturally, relevant bugfixes from an earlier series
-propagate to later series.
-
-If you want to use the very latest sources containing all current
-patches and bugfixes, you can use one of our source code repositories
-(see *Note installing-development-tree::). These are not `releases' as
-such, but are available as previews of the code on which future
-releases are to be based.
-
-The naming scheme in MySQL 5.5 uses release names that consist of three
-numbers and a suffix; for example, *mysql-5.5.6-m3*. The numbers within
-the release name are interpreted as follows:
-
-   * The first number (*5*) is the major version and describes the file
-     format. All MySQL 5 releases have the same file format.
-
-   * The second number (*5*) is the release level. Taken together, the
-     major version and release level constitute the release series
-     number.
-
-   * The third number (*6*) is the version number within the release
-     series. This is incremented for each new release. Usually you want
-     the latest version for the series you have chosen.
-
-For each minor update, the last number in the version string is
-incremented. When there are major new features or minor
-incompatibilities with previous versions, the second number in the
-version string is incremented. When the file format changes, the first
-number is increased.
-
-Release names also include a suffix to indicates the stability level of
-the release. Releases within a series progress through a set of
-suffixes to indicate how the stability level improves.  The possible
-suffixes are:
-
-   * *m_N_* (for example, *m1*, *m2*, *m3*, ...) indicate a milestone
-     number. MySQL development uses a milestone model, in which each
-     milestone proceeds through a small number of versions with a tight
-     focus on a small subset of thoroughly tested features. Following
-     the releases for one milestone, development proceeds with another
-     small number of releases that focuses on the next small set of
-     features, also thoroughly tested. Features within milestone
-     releases may be considered to be of pre-production quality.
-
-   * *rc* indicates a Release Candidate. Release candidates are
-     believed to be stable, having passed all of MySQL's internal
-     testing, and with all known fatal runtime bugs fixed. However, the
-     release has not been in widespread use long enough to know for
-     sure that all bugs have been identified. Only minor fixes are
-     added.
-
-   * If there is no suffix, it indicates that the release is a General
-     Availability (GA) or Production release. GA releases are stable,
-     having successfully passed through all earlier release stages and
-     are believed to be reliable, free of serious bugs, and suitable
-     for use in production systems.  Only critical bugfixes are applied
-     to the release.
-
-All releases of MySQL are run through our standard tests and benchmarks
-to ensure that they are relatively safe to use.  Because the standard
-tests are extended over time to check for all previously found bugs,
-the test suite keeps getting better.
-
-All releases have been tested at least with these tools:
-
-   * An internal test suite
-
-     The `mysql-test' directory contains an extensive set of test
-     cases. We run these tests for every server binary. See *Note
-     mysql-test-suite::, for more information about this test suite.
-
-   * The MySQL benchmark suite
-
-     This suite runs a range of common queries. It is also a test to
-     determine whether the latest batch of optimizations actually made
-     the code faster. See *Note mysql-benchmarks::.
-
-We also perform additional integration and nonfunctional testing of the
-latest MySQL version in our internal production environment.
-Integration testing is done with different connectors, storage engines,
-replication modes, backup, partitioning, stored programs, and so forth
-in various combinations. Additional nonfunctional testing is done in
-areas of performance, concurrency, stress, high volume, upgrade and
-downgrade.
-
-
-File: manual.info,  Node: choosing-distribution-format,  Next: many-versions,  Prev: choosing-version,  Up: which-version
-
-3.1.2.2 Choosing a Distribution Format
-......................................
-
-After choosing which version of MySQL to install, you should decide
-whether to use a binary distribution or a source distribution. In most
-cases, you should probably use a binary distribution, if one exists for
-your platform. Binary distributions are available in native format for
-many platforms, such as RPM files for Linux or PKG package installers
-for Mac OS X or Solaris. Distributions also are available as Zip
-archives or compressed `tar' files.
-
-Reasons to choose a binary distribution include the following:
-
-   * Binary distributions generally are easier to install than source
-     distributions.
-
-   * To satisfy different user requirements, we provide several servers
-     in binary distributions. *Note `mysqld': mysqld.  is an optimized
-     server that is a smaller, faster binary.  *Note `mysqld-debug':
-     mysqld. is compiled with debugging support.
-
-     Each of these servers is compiled from the same source
-     distribution, though with different configuration options.  All
-     native MySQL clients can connect to servers from either MySQL
-     version.
-
-Under some circumstances, you may be better off installing MySQL from a
-source distribution:
-
-   * You want to install MySQL at some explicit location. The standard
-     binary distributions are ready to run at any installation
-     location, but you might require even more flexibility to place
-     MySQL components where you want.
-
-   * You want to configure *Note `mysqld': mysqld. to ensure that
-     features are available that might not be included in the standard
-     binary distributions. Here is a list of the most common extra
-     options that you may want to use to ensure feature availability:
-
-        * `-DWITH_LIBWRAP=1' for TCP wrappers support.
-
-        * `-DWITH_ZLIB={system|bundled}' for features that depend on
-          compression
-
-        * `-DWITH_DEBUG=1' for debugging support
-
-   * You want to configure *Note `mysqld': mysqld. without some
-     features that are included in the standard binary distributions.
-     For example, distributions normally are compiled with support for
-     all character sets. If you want a smaller MySQL server, you can
-     recompile it with support for only the character sets you need.
-
-   * You want to use the latest sources from one of the Bazaar
-     repositories to have access to all current bugfixes. For example,
-     if you have found a bug and reported it to the MySQL development
-     team, the bugfix is committed to the source repository and you can
-     access it there. The bugfix does not appear in a release until a
-     release actually is issued.
-
-   * You want to read (or modify) the C and C++ code that makes up
-     MySQL. For this purpose, you should get a source distribution,
-     because the source code is always the ultimate manual.
-
-   * Source distributions contain more tests and examples than binary
-     distributions.
-
-
-File: manual.info,  Node: many-versions,  Prev: choosing-distribution-format,  Up: which-version
-
-3.1.2.3 How and When Updates Are Released
-.........................................
-
-MySQL is evolving quite rapidly and we want to share new developments
-with other MySQL users. We try to produce a new release whenever we
-have new and useful features that others also seem to have a need for.
-
-We also try to help users who request features that are easy to
-implement. We take note of what our licensed users want, and we
-especially take note of what our support customers want and try to help
-them in this regard.
-
-No one is _required_ to download a new release. The News section helps
-you determine whether the new release has something you really want. See
-*Note news::.
-
-We use the following policy when updating MySQL:
-
-   * Enterprise Server releases are meant to appear every 18 months,
-     supplemented by quarterly service packs and monthly rapid updates.
-     Community Server releases are meant to appear 2 to 3 times per
-     year.
-
-   * Releases are issued within each series. For each release, the last
-     number in the version is one more than the previous release within
-     the same series.
-
-   * Binary distributions for some platforms are made by us for major
-     releases. Other people may make binary distributions for other
-     systems, but probably less frequently.
-
-   * We make fixes available as soon as we have identified and
-     corrected small or noncritical but annoying bugs. The fixes are
-     available in source form immediately from our public Bazaar
-     repositories, and are included in the next release.
-
-   * If by any chance a security vulnerability or critical bug is found
-     in a release, our policy is to fix it in a new release as soon as
-     possible. (We would like other companies to do this, too!)
-
-
-File: manual.info,  Node: getting-mysql,  Next: verifying-package-integrity,  Prev: which-version,  Up: general-installation-issues
-
-3.1.3 How to Get MySQL
-----------------------
-
-Check our downloads page at `http://dev.mysql.com/downloads/' for
-information about the current version of MySQL and for downloading
-instructions. For a complete up-to-date list of MySQL download mirror
-sites, see `http://dev.mysql.com/downloads/mirrors.html'. You can also
-find information there about becoming a MySQL mirror site and how to
-report a bad or out-of-date mirror.
-
-To obtain the latest development source, see *Note
-installing-development-tree::.
-
-
-File: manual.info,  Node: verifying-package-integrity,  Next: installation-layouts,  Prev: getting-mysql,  Up: general-installation-issues
-
-3.1.4 Verifying Package Integrity Using MD5 Checksums or `GnuPG'
-----------------------------------------------------------------
-
-* Menu:
-
-* verifying-md5-checksum::       Verifying the MD5 Checksum
-* checking-gpg-signature::       Signature Checking Using `GnuPG'
-* checking-rpm-signature::       Signature Checking Using `RPM'
-
-After you have downloaded the MySQL package that suits your needs and
-before you attempt to install it, you should make sure that it is
-intact and has not been tampered with. There are three means of
-integrity checking:
-
-   * MD5 checksums
-
-   * Cryptographic signatures using `GnuPG', the GNU Privacy Guard
-
-   * For RPM packages, the built-in RPM integrity verification mechanism
-
-The following sections describe how to use these methods.
-
-If you notice that the MD5 checksum or GPG signatures do not match,
-first try to download the respective package one more time, perhaps
-from another mirror site. If you repeatedly cannot successfully verify
-the integrity of the package, please notify us about such incidents,
-including the full package name and the download site you have been
-using, at <webmaster@mysql.com> or <build@mysql.com>. Do not report
-downloading problems using the bug-reporting system.
-
-
-File: manual.info,  Node: verifying-md5-checksum,  Next: checking-gpg-signature,  Prev: verifying-package-integrity,  Up: verifying-package-integrity
-
-3.1.4.1 Verifying the MD5 Checksum
-..................................
-
-After you have downloaded a MySQL package, you should make sure that
-its MD5 checksum matches the one provided on the MySQL download pages.
-Each package has an individual checksum that you can verify with the
-following command, where PACKAGE_NAME is the name of the package you
-downloaded:
-
-     shell> md5sum PACKAGE_NAME
-
-Example:
-
-     shell> md5sum mysql-standard-5.5.23-linux-i686.tar.gz
-     aaab65abbec64d5e907dcd41b8699945  mysql-standard-5.5.23-linux-i686.tar.gz
-
-You should verify that the resulting checksum (the string of
-hexadecimal digits) matches the one displayed on the download page
-immediately below the respective package.
-
-*Note*:
-
-Make sure to verify the checksum of the _archive file_ (for example,
-the `.zip' or `.tar.gz' file) and not of the files that are contained
-inside of the archive.
-
-Note that not all operating systems support the `md5sum' command. On
-some, it is simply called `md5', and others do not ship it at all. On
-Linux, it is part of the *GNU Text Utilities* package, which is
-available for a wide range of platforms. You can download the source
-code from `http://www.gnu.org/software/textutils/' as well.  If you
-have OpenSSL installed, you can use the command `openssl md5
-PACKAGE_NAME' instead. A Windows implementation of the `md5' command
-line utility is available from `http://www.fourmilab.ch/md5/'.
-`winMd5Sum' is a graphical MD5 checking tool that can be obtained from
-`http://www.nullriver.com/index/products/winmd5sum'.
-
-
-File: manual.info,  Node: checking-gpg-signature,  Next: checking-rpm-signature,  Prev: verifying-md5-checksum,  Up: verifying-package-integrity
-
-3.1.4.2 Signature Checking Using `GnuPG'
-........................................
-
-Another method of verifying the integrity and authenticity of a package
-is to use cryptographic signatures. This is more reliable than using
-MD5 checksums, but requires more work.
-
-We sign MySQL downloadable packages with `GnuPG' (GNU Privacy Guard).
-`GnuPG' is an Open Source alternative to the well-known Pretty Good
-Privacy (`PGP') by Phil Zimmermann. See `http://www.gnupg.org/' for more
-information about `GnuPG' and how to obtain and install it on your
-system. Most Linux distributions ship with `GnuPG' installed by
-default. For more information about `GnuPG', see
-`http://www.openpgp.org/'.
-
-To verify the signature for a specific package, you first need to
-obtain a copy of our public GPG build key, which you can download from
-`http://pgp.mit.com/'. The key that you want to obtain is named
-`mysql-build@oss.oracle.com'. Alternatively, you can cut and paste the
-key directly from the following text:
-
-     -----BEGIN PGP PUBLIC KEY BLOCK-----
-     Version: PGP Universal 2.9.1 (Build 347)
-
-     mQGiBD4+owwRBAC14GIfUfCyEDSIePvEW3SAFUdJBtoQHH/nJKZyQT7h9bPlUWC3
-     RODjQReyCITRrdwyrKUGku2FmeVGwn2u2WmDMNABLnpprWPkBdCk96+OmSLN9brZ
-     fw2vOUgCmYv2hW0hyDHuvYlQA/BThQoADgj8AW6/0Lo7V1W9/8VuHP0gQwCgvzV3
-     BqOxRznNCRCRxAuAuVztHRcEAJooQK1+iSiunZMYD1WufeXfshc57S/+yeJkegNW
-     hxwR9pRWVArNYJdDRT+rf2RUe3vpquKNQU/hnEIUHJRQqYHo8gTxvxXNQc7fJYLV
-     K2HtkrPbP72vwsEKMYhhr0eKCbtLGfls9krjJ6sBgACyP/Vb7hiPwxh6rDZ7ITnE
-     kYpXBACmWpP8NJTkamEnPCia2ZoOHODANwpUkP43I7jsDmgtobZX9qnrAXw+uNDI
-     QJEXM6FSbi0LLtZciNlYsafwAPEOMDKpMqAK6IyisNtPvaLd8lH0bPAnWqcyefep
-     rv0sxxqUEMcM3o7wwgfN83POkDasDbs3pjwPhxvhz6//62zQJ7Q2TXlTUUwgUmVs
-     ZWFzZSBFbmdpbmVlcmluZyA8bXlzcWwtYnVpbGRAb3NzLm9yYWNsZS5jb20+iGYE
-     ExECACYCGyMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAUCTnc+KgUJE/sCFQAKCRCM
-     cY07UHLh9SbMAJ4l1+qBz2BZNSGCZwwA6YbhGPC7FwCgp8z5TzIw4YQuL5NGJ/sy
-     0oSazqmJASIEEAECAAwFAk53QS4FAwASdQAACgkQlxC4m8pXrXwJ8Qf/be/UO9mq
-     foc2sMyhwMpN4/fdBWwfLkA12FXQDOQMvwH9HsmEjnfUgYKXschZRi+DuHXe1P7l
-     8G2aQLubhBsQf9ejKvRFTzuWMQkdIq+6Koulxv6ofkCcv3d1xtO2W7nb5yxcpVBP
-     rRfGFGebJvZa58DymCNgyGtAU6AOz4veavNmI2+GIDQsY66+tYDvZ+CxwzdYu+HD
-     V9HmrJfc6deM0mnBn7SRjqzxJPgoTQhihTav6q/R5/2p5NvQ/H84OgS6GjosfGc2
-     duUDzCP/kheMRKfzuyKCOHQPtJuIj8++gfpHtEU7IDUX1So3c9n0PdpeBvclsDbp
-     RnCNxQWU4mBot7kCDQQ+PqMdEAgA7+GJfxbMdY4wslPnjH9rF4N2qfWsEN/lxaZo
-     JYc3a6M02WCnHl6ahT2/tBK2w1QI4YFteR47gCvtgb6O1JHffOo2HfLmRDRiRjd1
-     DTCHqeyX7CHhcghj/dNRlW2Z0l5QFEcmV9U0Vhp3aFfWC4Ujfs3LU+hkAWzE7zaD
-     5cH9J7yv/6xuZVw411x0h4UqsTcWMu0iM1BzELqX1DY7LwoPEb/O9Rkbf4fmLe11
-     EzIaCa4PqARXQZc4dhSinMt6K3X4BrRsKTfozBu74F47D8Ilbf5vSYHbuE5p/1oI
-     Dznkg/p8kW+3FxuWrycciqFTcNz215yyX39LXFnlLzKUb/F5GwADBQf+Lwqqa8CG
-     rRfsOAJxim63CHfty5mUc5rUSnTslGYEIOCR1BeQauyPZbPDsDD9MZ1ZaSafanFv
-     wFG6Llx9xkU7tzq+vKLoWkm4u5xf3vn55VjnSd1aQ9eQnUcXiL4cnBGoTbOWI39E
-     cyzgslzBdC++MPjcQTcA7p6JUVsP6oAB3FQWg54tuUo0Ec8bsM8b3Ev42LmuQT5N
-     dKHGwHsXTPtl0klk4bQk4OajHsiy1BMahpT27jWjJlMiJc+IWJ0mghkKHt926s/y
-     mfdf5HkdQ1cyvsz5tryVI3Fx78XeSYfQvuuwqp2H139pXGEkg0n6KdUOetdZWhe7
-     0YGNPw1yjWJT1IhUBBgRAgAMBQJOdz3tBQkT+wG4ABIHZUdQRwABAQkQjHGNO1By
-     4fUUmwCbBYr2+bBEn/L2BOcnw9Z/QFWuhRMAoKVgCFm5fadQ3Afi+UQlAcOphrnJ
-     =Eto8
-     -----END PGP PUBLIC KEY BLOCK-----
-
-To import the build key into your personal public GPG keyring, use `gpg
---import'. For example, if you have saved the key in a file named
-`mysql_pubkey.asc', the import command looks like this:
-
-     shell> gpg --import mysql_pubkey.asc
-     gpg: key 5072E1F5: public key "MySQL Release Engineering
-     <mysql-build@oss.oracle.com>" imported
-     gpg: Total number processed: 1
-     gpg:               imported: 1
-     gpg: no ultimately trusted keys found
-
-You can also download the key from the public keyserver using the
-public key id, `5072E1F5':
-
-     shell> gpg --recv-keys 5072E1F5
-     gpg: requesting key 5072E1F5 from hkp server keys.gnupg.net
-     gpg: key 5072E1F5: "MySQL Release Engineering <mysql-build@oss.oracle.com>"
-     1 new user ID
-     gpg: key 5072E1F5: "MySQL Release Engineering <mysql-build@oss.oracle.com>"
-     53 new signatures
-     gpg: no ultimately trusted keys found
-     gpg: Total number processed: 1
-     gpg:           new user IDs: 1
-     gpg:         new signatures: 53
-
-If you want to import the key into your RPM configuration to validate
-RPM install packages, you should be able to import the key directly:
-
-     shell> rpm --import mysql_pubkey.asc
-
-If you experience problems, try exporting the key from `gpg' and
-importing:
-
-     shell> gpg --export -a 5072e1f5 > 5072e1f5.asc
-     shell> rpm --import 5072e1f5.asc
-
-Alternatively, `rpm' also supports loading the key directly from a URL,
-and you cas use this manual page:
-
-     shell> rpm --import http://dev.mysql.com/doc/refman/5.5/en/checking-gpg-signature.html
-
-After you have downloaded and imported the public build key, download
-your desired MySQL package and the corresponding signature, which also
-is available from the download page. The signature file has the same
-name as the distribution file with an `.asc' extension, as shown by the
-examples in the following table.
-
-*MySQL Package and Signature Files*
-
-File Type          File Name
-Distribution file  `mysql-standard-5.5.23-linux-i686.tar.gz'
-Signature file     `mysql-standard-5.5.23-linux-i686.tar.gz.asc'
-
-Make sure that both files are stored in the same directory and then run
-the following command to verify the signature for the distribution file:
-
-     shell> gpg --verify PACKAGE_NAME.asc
-
-Example:
-
-     shell> gpg --verify mysql-standard-5.5.23-linux-i686.tar.gz.asc
-     gpg: Signature made Tue 01 Feb 2011 02:38:30 AM CST using DSA key ID 5072E1F5
-     gpg: Good signature from "MySQL Release Engineering <mysql-build@oss.oracle.com>"
-
-The `Good signature' message indicates that everything is all right.
-You can ignore any `insecure memory' warning you might obtain.
-
-See the GPG documentation for more information on how to work with
-public keys.
-
-
-File: manual.info,  Node: checking-rpm-signature,  Prev: checking-gpg-signature,  Up: verifying-package-integrity
-
-3.1.4.3 Signature Checking Using `RPM'
-......................................
-
-For RPM packages, there is no separate signature. RPM packages have a
-built-in GPG signature and MD5 checksum. You can verify a package by
-running the following command:
-
-     shell> rpm --checksig PACKAGE_NAME.rpm
-
-Example:
-
-     shell> rpm --checksig MySQL-server-5.5.23-0.glibc23.i386.rpm
-     MySQL-server-5.5.23-0.glibc23.i386.rpm: md5 gpg OK
-
-*Note*:
-
-If you are using RPM 4.1 and it complains about `(GPG) NOT OK (MISSING
-KEYS: GPG#5072e1f5)', even though you have imported the MySQL public
-build key into your own GPG keyring, you need to import the key into
-the RPM keyring first. RPM 4.1 no longer uses your personal GPG keyring
-(or GPG itself). Rather, RPM maintains a separate keyring because it is
-a system-wide application and a user's GPG public keyring is a
-user-specific file. To import the MySQL public key into the RPM
-keyring, first obtain the key as described in *Note
-checking-gpg-signature::. Then use `rpm --import' to import the key. For
-example, if you have saved the public key in a file named
-`mysql_pubkey.asc', import it using this command:
-
-     shell> rpm --import mysql_pubkey.asc
-
-If you need to obtain the MySQL public key, see *Note
-checking-gpg-signature::.
-
-
-File: manual.info,  Node: installation-layouts,  Next: compiler-characteristics,  Prev: verifying-package-integrity,  Up: general-installation-issues
-
-3.1.5 Installation Layouts
---------------------------
-
-The installation layout differs for different installation types (for
-example, native packages, binary tarballs, and source tarballs), which
-can lead to confusion when managing different systems or using
-different installation sources. The individual layouts are given in the
-corresponding installation type or platform chapter, as described
-following. Note that the layout of installations from vendors other
-than Oracle may differ from these layouts.
-
-   * *Note windows-installation-layout::
-
-   * *Note source-installation-layout::
-
-   * *Note binary-installation-layout::
-
-   * *Note mysql-installation-layout-linuxrpm::
-
-   * *Note mysql-installation-layout-macosx::
-
-
-File: manual.info,  Node: compiler-characteristics,  Prev: installation-layouts,  Up: general-installation-issues
-
-3.1.6 Compiler-Specific Build Characteristics
----------------------------------------------
-
-In some cases, the compiler used to build MySQL affects the features
-available for use. The notes in this section apply for binary
-distributions provided by Oracle Corporation or that you compile
-yourself from source.
-
-*`icc' (Intel C++ Compiler) Builds*
-
-A server built with `icc' has these characteristics:
-
-   * SSL support is not included.
-
-
-File: manual.info,  Node: binary-installation,  Next: windows-installation,  Prev: general-installation-issues,  Up: installing
-
-3.2 Installing MySQL from Generic Binaries on Unix/Linux
-========================================================
-
-Oracle provides a set of binary distributions of MySQL. These include
-binary distributions in the form of compressed `tar' files (files with a
-`.tar.gz' extension) for a number of platforms, as well as binaries in
-platform-specific package formats for selected platforms.
-
-This section covers the installation of MySQL from a compressed `tar'
-file binary distribution. For other platform-specific package formats,
-see the other platform-specific sections. For example, for Windows
-distributions, see *Note windows-installation::.
-
-To obtain MySQL, see *Note getting-mysql::.
-
-MySQL compressed `tar' file binary distributions have names of the form
-`mysql-VERSION-OS.tar.gz', where `VERSION' is a number (for example,
-`5.5.23'), and OS indicates the type of operating system for which the
-distribution is intended (for example, `pc-linux-i686' or `winx64').
-
-To install MySQL from a compressed `tar' file binary distribution, your
-system must have GNU `gunzip' to uncompress the distribution and a
-reasonable `tar' to unpack it. If your `tar' program supports the `z'
-option, it can both uncompress and unpack the file.
-
-GNU `tar' is known to work. The standard `tar' provided with some
-operating systems is not able to unpack the long file names in the
-MySQL distribution. You should download and install GNU `tar', or if
-available, use a preinstalled version of GNU tar. Usually this is
-available as `gnutar', `gtar', or as `tar' within a GNU or Free
-Software directory, such as `/usr/sfw/bin' or `/usr/local/bin'. GNU
-`tar' is available from `http://www.gnu.org/software/tar/'.
-
-*Warning*:
-
-If you have previously installed MySQL using your operating system
-native package management system, such as `yum' or `apt-get', you may
-experience problems installing using a native binary. Make sure your
-previous MySQL previous installation has been removed entirely (using
-your package management system), and that any additional files, such as
-old versions of your data files, have also been removed. You should
-also check the existence of configuration files such as `/etc/my.cnf'
-or the `/etc/mysql' directory have been deleted.
-
-If you run into problems and need to file a bug report, please use the
-instructions in *Note bug-reports::.
-
-On Unix, to install a compressed `tar' file binary distribution, unpack
-it at the installation location you choose (typically
-`/usr/local/mysql'). This creates the directories shown in the
-following table.
-
-*MySQL Installation Layout for Generic Unix/Linux Binary Package*
-
-Directory                        Contents of Directory
-`bin'                            Client programs and the *Note `mysqld':
-                                 mysqld. server
-`data'                           Log files, databases
-`docs'                           Manual in Info format
-`man'                            Unix manual pages
-`include'                        Include (header) files
-`lib'                            Libraries
-`scripts'                        *Note `mysql_install_db':
-                                 mysql-install-db.
-`share'                          Miscellaneous support files, including
-                                 error messages, sample configuration
-                                 files, SQL for database installation
-`sql-bench'                      Benchmarks
-
-Debug versions of the *Note `mysqld': mysqld. binary are available as
-*Note `mysqld-debug': mysqld. To compile your own debug version of
-MySQL from a source distribution, use the appropriate configuration
-options to enable debugging support. For more information on compiling
-from source, see *Note source-installation::.
-
-To install and use a MySQL binary distribution, the basic command
-sequence looks like this:
-
-     shell> groupadd mysql
-     shell> useradd -r -g mysql mysql
-     shell> cd /usr/local
-     shell> tar zxvf /PATH/TO/MYSQL-VERSION-OS.tar.gz
-     shell> ln -s FULL-PATH-TO-MYSQL-VERSION-OS mysql
-     shell> cd mysql
-     shell> chown -R mysql .
-     shell> chgrp -R mysql .
-     shell> scripts/mysql_install_db --user=mysql
-     shell> chown -R root .
-     shell> chown -R mysql data
-     # Next command is optional
-     shell> cp support-files/my-medium.cnf /etc/my.cnf
-     shell> bin/mysqld_safe --user=mysql &
-     # Next command is optional
-     shell> cp support-files/mysql.server /etc/init.d/mysql.server
-
-A more detailed version of the preceding description for installing a
-binary distribution follows.
-
-*Note*:
-
-This procedure assumes that you have `root' (administrator) access to
-your system. Alternatively, you can prefix each command using the
-`sudo' (Linux) or `pfexec' (OpenSolaris) command.
-
-The procedure does not set up any passwords for MySQL accounts.  After
-following the procedure, proceed to *Note postinstallation::.
-
-* Create a `mysql' User and Group *
-
-If your system does not already have a user and group for *Note
-`mysqld': mysqld. to run as, you may need to create one. The following
-commands add the `mysql' group and the `mysql' user. You might want to
-call the user and group something else instead of `mysql'. If so,
-substitute the appropriate name in the following instructions. The
-syntax for `useradd' and `groupadd' may differ slightly on different
-versions of Unix, or they may have different names such as `adduser'
-and `addgroup'.
-
-     shell> groupadd mysql
-     shell> useradd -r -g mysql mysql
-
-*Note*:
-
-Because the user is required only for ownership purposes, not login
-purposes, the `useradd' command uses the `-r' option to create a user
-that does not have login permissions to your server host. Omit this
-option to permit logins for the user (or if your `useradd' does not
-support the option).
-
-* Obtain and Unpack the Distribution *
-
-Pick the directory under which you want to unpack the distribution and
-change location into it. The example here unpacks the distribution
-under `/usr/local'. The instructions, therefore, assume that you have
-permission to create files and directories in `/usr/local'. If that
-directory is protected, you must perform the installation as `root'.
-
-     shell> cd /usr/local
-
-Obtain a distribution file using the instructions in *Note
-getting-mysql::. For a given release, binary distributions for all
-platforms are built from the same MySQL source distribution.
-
-Unpack the distribution, which creates the installation directory.
-Then create a symbolic link to that directory.  `tar' can uncompress
-and unpack the distribution if it has `z' option support:
-
-     shell> tar zxvf /PATH/TO/MYSQL-VERSION-OS.tar.gz
-     shell> ln -s FULL-PATH-TO-MYSQL-VERSION-OS mysql
-
-The `tar' command creates a directory named `mysql-VERSION-OS'.  The
-`ln' command makes a symbolic link to that directory. This enables you
-to refer more easily to the installation directory as
-`/usr/local/mysql'.
-
-If your `tar' does not have `z' option support, use `gunzip' to unpack
-the distribution and `tar' to unpack it. Replace the preceding `tar'
-command with the following alternative command to uncompress and
-extract the distribution:
-
-     shell> gunzip < /PATH/TO/MYSQL-VERSION-OS.tar.gz | tar xvf -
-
-* Perform Postinstallation Setup *
-
-The remainder of the installation process involves setting up the
-configuration file, creating the core databases, and starting the MySQL
-server. For instructions, see *Note postinstallation::.
-
-*Note*:
-
-The accounts that are listed in the MySQL grant tables initially have
-no passwords. After starting the server, you should set up passwords
-for them using the instructions in *Note postinstallation::.
-
-
-File: manual.info,  Node: windows-installation,  Next: macosx-installation,  Prev: binary-installation,  Up: installing
-
-3.3 Installing MySQL on Microsoft Windows
-=========================================
-
-* Menu:
-
-* windows-installation-layout::  MySQL Installation Layout on Microsoft Windows
-* windows-choosing-package::     Choosing An Installation Package
-* mi::                           Installing MySQL on Microsoft Windows Using MySQL Installer
-* windows-using-installer::      Installing MySQL on Microsoft Windows Using an MSI Package
-* mysql-config-wizard::          MySQL Server Instance Configuration Wizard
-* windows-install-archive::      Installing MySQL on Microsoft Windows Using a `noinstall' Zip Archive
-* windows-troubleshooting::      Troubleshooting a MySQL Installation Under Windows
-* windows-upgrading::            Upgrading MySQL on Windows
-* windows-postinstallation::     Windows Postinstallation Procedures
-
-A native Windows distribution of MySQL has been available since version
-3.21 and represents a sizable percentage of the daily downloads of
-MySQL. This section describes the process for installing MySQL on
-Windows.
-
-*Note*:
-
-If you are upgrading MySQL from an existing installation older than
-MySQL 4.1.5, you must first perform the procedure described in *Note
-windows-upgrading::.
-
-To run MySQL on Windows, you need the following:
-
-   * A Windows operating system such as Windows 2000, Windows XP,
-     Windows Vista, Windows Server 2003, or Windows Server 2008. Both
-     32-bit and 64-bit versions are supported.
-
-     A Windows operating system permits you to run the MySQL server as
-     a service. See *Note windows-start-service::.
-
-     Generally, you should install MySQL on Windows using an account
-     that has administrator rights. Otherwise, you may encounter
-     problems with certain operations such as editing the `PATH'
-     environment variable or accessing the `Service Control Manager'.
-     Once installed, MySQL does not need to be executed using a user
-     with Administrator privileges.
-
-   * TCP/IP protocol support.
-
-   * Enough space on the hard drive to unpack, install, and create the
-     databases in accordance with your requirements (generally a
-     minimum of 200 megabytes is recommended.)
-
-For a list of limitations within the Windows version of MySQL, see
-*Note limits-windows::.
-
-There may also be other requirements, depending on how you plan to use
-MySQL:
-
-   * If you plan to connect to the MySQL server using ODBC, you need a
-     Connector/ODBC driver. See *Note connector-odbc::.
-
-   * If you plan to use MySQL server with ADO.NET applications, you
-     need the Connector/Net driver. See *Note connector-net::.
-
-   * If you need tables with a size larger than 4GB, install MySQL on
-     an NTFS or newer file system. Do not forget to use `MAX_ROWS' and
-     `AVG_ROW_LENGTH' when you create tables. See *Note create-table::.
-
-MySQL for Windows is available in several distribution formats:
-
-   * Binary distributions are available that contain a setup program
-     that installs everything you need so that you can start the server
-     immediately. Another binary distribution format contains an
-     archive that you simply unpack in the installation location and
-     then configure yourself. For details, see *Note
-     windows-choosing-package::.
-
-   * The source distribution contains all the code and support files
-     for building the executables using the Visual Studio compiler
-     system.
-
-Generally speaking, you should use a binary distribution that includes
-an installer. It is simpler to use than the others, and you need no
-additional tools to get MySQL up and running. The installer for the
-Windows version of MySQL, combined with a GUI Configuration Wizard,
-automatically installs MySQL, creates an option file, starts the
-server, and secures the default user accounts.
-
-*Caution*:
-
-Using virus scanning software such as Norton/Symantec Anti-Virus on
-directories containing MySQL data and temporary tables can cause
-issues, both in terms of the performance of MySQL and the
-virus-scanning software mis-identifying the contents of the files as
-containing spam. This is because of the fingerprinting mechanism used
-by the virus scanning software, and the way in which MySQL rapidly
-updates different files, which may be identified as a potential
-security risk.
-
-After installing MySQL Server, it is recommended that you disable virus
-scanning on the main directory (`datadir') being used to store your
-MySQL table data. There is usually a system built into the virus
-scanning software to enable certain directories to be specifically
-ignored during virus scanning.
-
-In addition, by default, MySQL creates temporary files in the standard
-Windows temporary directory. To prevent the temporary files also being
-scanned, you should configure a separate temporary directory for MySQL
-temporary files and add this to the virus scanning exclusion list. To
-do this, add a configuration option for the `tmpdir' parameter to your
-`my.ini' configuration file. For more information, see *Note
-windows-create-option-file::.
-
-The following section describes how to install MySQL on Windows using a
-binary distribution. To use an installation package that does not
-include an installer, follow the procedure described in *Note
-windows-install-archive::. To install using a source distribution, see
-*Note source-installation::.
-
-MySQL distributions for Windows can be downloaded from
-`http://dev.mysql.com/downloads/'. See *Note getting-mysql::.
-
-
-File: manual.info,  Node: windows-installation-layout,  Next: windows-choosing-package,  Prev: windows-installation,  Up: windows-installation
-
-3.3.1 MySQL Installation Layout on Microsoft Windows
-----------------------------------------------------
-
-For MySQL 5.5 on Windows, the default installation directory is
-`C:\Program Files\MySQL\MySQL Server 5.5'. Some Windows users prefer to
-install in `C:\mysql', the directory that formerly was used as the
-default. However, the layout of the subdirectories remains the same.
-
-All of the files are located within this parent directory, using the
-structure shown in the following table.
-
-*MySQL Installation Layout for Windows*
-
-Directory                        Contents of Directory
-`bin'                            Client programs and the *Note `mysqld':
-                                 mysqld. server
-`C:\Documents and Settings\All   Log files, databases (Windows XP,
-Users\Application Data\MySQL'    Windows Server 2003)
-`C:\ProgramData\MySQL'           Log files, databases (Windows 7,
-                                 Windows Server 2008)
-`examples'                       Example programs and scripts
-`include'                        Include (header) files
-`lib'                            Libraries
-`scripts'                        Utility scripts
-`share'                          Miscellaneous support files, including
-                                 error messages, character set files,
-                                 sample configuration files, SQL for
-                                 database installation
-
-If you install MySQL using a Windows MSI package, this package creates
-and sets up the data directory that the installed server will use, but
-as of MySQL 5.5.5, it also creates a pristine `template' data directory
-named `data' under the installation directory. This directory can be
-useful when the machine will be used to run multiple instances of
-MySQL: After an installation has been performed using an MSI package,
-the template data directory can be copied to set up additional MySQL
-instances. See *Note multiple-servers::.
-
-
-File: manual.info,  Node: windows-choosing-package,  Next: mi,  Prev: windows-installation-layout,  Up: windows-installation
-
-3.3.2 Choosing An Installation Package
---------------------------------------
-
-For MySQL 5.5, there are installation package formats to choose from
-when installing MySQL on Windows:
-
-*Note*:
-
-MySQL Installer and the "Complete Package" methods for installing MySQL
-are similar, but different. The MySQL Installer is the newer and more
-advanced option, and it includes all functionality found within the
-"Complete Package."
-
-   * *MySQL Installer*: This package has a file name similar to
-     `mysql-installer-5.5.23.0.msi' and utilizes MSI's to automatically
-     install MySQL server and other products. It will download and
-     apply updates to itself, and for each of the installed products.
-     It also configures the additional non-server products, such as
-     MySQL Workbench.
-
-     The installed products are configurable, and this includes:
-     documentation with samples and examples, connectors (such as C,
-     C++, J, NET, and ODBC), MySQL Workbench, and the MySQL Server with
-     its components.
-
-   * *The Complete Package*: This package has a file name similar to
-     `mysql-5.5.23-win32.msi' and contains all files needed for a
-     complete Windows installation, including the Configuration Wizard.
-     This package includes optional components such as the embedded
-     server and benchmark suite.
-
-   * *The Noinstall Archive*: This package has a file name similar to
-     `mysql-5.5.23-win32.zip' and contains all the files found in the
-     Complete install package, with the exception of the Configuration
-     Wizard. This package does not include an automated installer, and
-     must be manually installed and configured.
-
-MySQL Installer is recommended for most users. Both MySQL Installer and
-the alternative "Complete distribution" versions are available as
-`.msi' files for use with installations on Windows. The Noinstall
-distribution is packaged as a Zip archive.  To use a Zip archive, you
-must have a tool that can unpack `.zip' files.
-
-Your choice of install package affects the installation process you
-must follow. If you choose to install using MySQL Installer, see *Note
-mi::. If you choose to install a standard MSI package, see *Note
-windows-using-installer::. If you choose to install a Noinstall
-archive, see *Note windows-install-archive::.
-
-
-File: manual.info,  Node: mi,  Next: windows-using-installer,  Prev: windows-choosing-package,  Up: windows-installation
-
-3.3.3 Installing MySQL on Microsoft Windows Using MySQL Installer
------------------------------------------------------------------
-
-MySQL Installer is designed to simplify the installation and updating
-process for a wide range of MySQL products, and is managed from a single
-application. From this central tool, you can see which components are
-already installed, configure them, and remove them if necessary.  The
-installer can also install plugins, documentation, tutorials, and
-examples. The MySQL Installer is only available for Microsoft Windows.
-
-MySQL Installer is compatible with pre-existing installations; it
-simply adds these to its list of installed components. (Please note
-that the Installer is bound to the main server version.)
-
-MySQL Installer handles the initial configuration of applications. For
-example:
-
-  1. It will create the initial MySQL Workbench connections, that allow
-     immediate use of MySQL Workbench.
-
-  2. It creates the configuration file (`my.ini') that is used to run
-     the server.
-
-  3. It creates example tables that are available from the local server.
-
-MySQL Installer can also check for updated components and download them
-automatically, should you choose to allow it to do so. The Installer
-has its own Start Menu item so that you can access it more easily.
-
-To install MySQL Installer, open the application, and click  `Execute'
-or `Next' when prompted.
-
-After the installer itself has been installed and started, the
-following screen is displayed:
-
-FIGURE GOES HERE: MySQL Installer - Welcome Screen
-
-There are three main options:
-
-  1. Install MySQL Products - The Installation Wizard.
-
-  2. About MySQL - Learn about MySQL products and features.
-
-  3. Resources - Information to help install and configure MySQL.
-
-When you click "Install MySQL Products," the Installer will find and
-install MySQL. But first, you'll need to accept the license agreement
-before proceeding. The license agreement is only displayed the initial
-time that MySQL Installer is executed:
-
-FIGURE GOES HERE: MySQL Installer - License Agreement
-
-If you are connected to the internet, then the program will search for
-the latest MySQL components, and add them to the installation bundle,
-ensuring the best functionality. Click `Connect to the Internet' to
-complete this step, or if you'd rather not, check the `Skip' checkbox
-and continue.
-
-FIGURE GOES HERE: MySQL Installer - Find latest products
-
-If you chose "Connect to the Internet," the next page will show the
-progress of MySQL Installer's search for available updates. When the
-search is complete (or if you opted to skip the search), you will be
-taken to the `Choose Setup Type' page:
-
-FIGURE GOES HERE: MySQL Installer - Choose Setup Type
-
-Each type contains a description, so read the `Setup Type Description'
-to determine which option will be most compatible with your preferences.
-
-The Installation and Data paths are also defined here, and a caution
-flag will notify you if the data path you are trying to establish
-already exists.
-
-Once you select a setup type, the MySQL Installer will check your
-system for the necessary external requirements, and download and
-install any missing pieces onto your system.
-
-FIGURE GOES HERE: MySQL Installer - Check Requirements
-
-In the next window, you will be able to view a list of the MySQL
-components that are scheduled to be installed, and watch the progress
-of the installation.
-
-FIGURE GOES HERE: MySQL Installer - Installation Progress
-
-As components are installed, you'll see their status change from "to be
-installed" to "install success."
-
-FIGURE GOES HERE: MySQL Installer - Installation Progress status
-
-Once all components are installed, the next step is configuration.  You
-can watch the progress of this step in the `Configuration Overview'
-window:
-
-FIGURE GOES HERE: MySQL Installer - Configuration Overview
-
-The ideal MySQL Server configuration depends on your intended use, as
-explained in the next window. Choose the description that most closely
-applies to your machine:
-
-FIGURE GOES HERE: MySQL Installer - MySQL Server Configuration: Choose
-a platform
-
-Next, choose your basic Network, Windows, and Security Settings:
-
-FIGURE GOES HERE: MySQL Installer - MySQL Server Configuration: Basic
-settings
-
-*Note*:
-
-The `Current Root Password', seen in the figure above, is only required
-if existing data files were found.
-
-When the MySQL Installer configuration is complete, you can save the
-log and by default, the "Start MySQL Workbench after Setup" option is
-checked:
-
-FIGURE GOES HERE: MySQL Installer - Installation Complete
-
-You can now open MySQL Installer from the Microsoft Windows Start menu,
-which will pull up the MySQL Installer `Maintenance Screen'. This will
-be used to add, update, and remove features.
-
-FIGURE GOES HERE: MySQL Installer - Maintenance Screen
-
-*Note*:
-
-If MySQL Installer is used on a machine with older products installed,
-an `Update Screen' is shown instead of the `Maintenance Screen'.
-However, the functionality remains the same.
-
-See also the MySQL Workbench documentation
-(`http://dev.mysql.com/doc/workbench/en/').
-
-
-File: manual.info,  Node: windows-using-installer,  Next: mysql-config-wizard,  Prev: mi,  Up: windows-installation
-
-3.3.4 Installing MySQL on Microsoft Windows Using an MSI Package
-----------------------------------------------------------------
-
-* Menu:
-
-* windows-install-wizard::       Using the MySQL Installation Wizard
-* windows-installer-msi-quiet::  Automating MySQL Installation on Microsoft Windows using the MSI Package
-* windows-installer-uninstalling::  Removing MySQL When Installed from the MSI Package
-
-The MSI package is designed to install and configure MySQL in such a
-way that you can immediately get started using MySQL.
-
-The MySQL Installation Wizard and MySQL Configuration Wizard are
-available in the Complete install package, which is recommended for
-most standard MySQL installations. Exceptions include users who need to
-install multiple instances of MySQL on a single server host and
-advanced users who want complete control of server configuration.
-
-   * For information on installing using the GUI MSI installer process,
-     see *Note windows-install-wizard::.
-
-   * For information on installing using the command line using the MSI
-     package, see *Note windows-installer-msi-quiet::.
-
-   * If you have previously installed MySQL using the MSI package and
-     want to remove MySQL, see *Note windows-installer-uninstalling::.
-
-The workflow sequence for using the installer is shown in the figure
-below:
-
-FIGURE GOES HERE: Installation Workflow for Windows using MSI Installer
-
-*Note*:
-
-Microsoft Windows XP and later include a firewall which specifically
-blocks ports. If you plan on using MySQL through a network port then
-you should open and create an exception for this port before performing
-the installation. To check and if necessary add an exception to the
-firewall settings:
-
-  1. First ensure that you are logged in as an Administrator or a user
-     with Administrator privileges.
-
-  2. Go to the `Control Panel', and double click the `Windows Firewall'
-     icon.
-
-  3. Choose the `Allow a program through Windows Firewall' option and
-     click the `Add port' button.
-
-  4. Enter `MySQL' into the `Name' text box and `3306' (or the port of
-     your choice) into the `Port number' text box.
-
-  5. Also ensure that the `TCP' protocol radio button is selected.
-
-  6. If you wish, you can also limit access to the MySQL server by
-     choosing the `Change scope' button.
-
-  7. Confirm your choices by clicking the `OK' button.
-
-Additionally, when running the MySQL Installation Wizard on Windows
-Vista or newer, ensure that you are logged in as a user with
-administrative rights.
-
-*Note*:
-
-When using Windows Vista or newer, you may want to disable User Account
-Control (UAC) before performing the installation. If you do not do so,
-then MySQL may be identified as a security risk, which will mean that
-you need to enable MySQL. You can disable the security checking by
-following these instructions:
-
-  1. Open `Control Panel'.
-
-  2. Under the `User Accounts and Family Safety', select `Add or remove
-     user accounts.'
-
-  3. Click the `Got to the main User Accounts page' link.
-
-  4. Click on `Turn User Account Control on or off'. You may be
-     prompted to provide permission to change this setting. Click
-     `Continue'.
-
-  5. Deselect or uncheck the check box next to `Use User Account
-     Control (UAC) to help protect your computer'. Click `OK' to save
-     the setting.
-
-You will need to restart to complete the process. Click `Restart Now'
-to reboot the machine and apply the changes. You can then follow the
-instructions below for installing Windows.
-
-
-File: manual.info,  Node: windows-install-wizard,  Next: windows-installer-msi-quiet,  Prev: windows-using-installer,  Up: windows-using-installer
-
-3.3.4.1 Using the MySQL Installation Wizard
-...........................................
-
-* Menu:
-
-* mysql-install-wizard-starting::  Downloading and Starting the MySQL Installation Wizard
-* mysql-install-wizard-install-type::  Choosing an Install Type
-* mysql-install-wizard-custom-install::  The Custom Install Dialog
-* mysql-install-wizard-confirmation-dialog::  The Confirmation Dialog
-* mysql-install-wizard-changes::  Changes Made by MySQL Installation Wizard
-* mysql-install-wizard-upgrading::  Upgrading MySQL with the Installation Wizard
-
-MySQL Installation Wizard is an installer for the MySQL server that
-uses the latest installer technologies for Microsoft Windows. The MySQL
-Installation Wizard, in combination with the MySQL Configuration
-Wizard, enables a user to install and configure a MySQL server that is
-ready for use immediately after installation.
-
-The MySQL Installation Wizard is the standard installer for all MySQL
-server distributions, version 4.1.5 and higher. Users of previous
-versions of MySQL need to shut down and remove their existing MySQL
-installations manually before installing MySQL with the MySQL
-Installation Wizard. See *Note mysql-install-wizard-upgrading::, for
-more information on upgrading from a previous version.
-
-Microsoft has included an improved version of their Microsoft Windows
-Installer (MSI) in the recent versions of Windows. MSI has become the
-de-facto standard for application installations on Windows 2000,
-Windows XP, and Windows Server 2003. The MySQL Installation Wizard
-makes use of this technology to provide a smoother and more flexible
-installation process.
-
-The Microsoft Windows Installer Engine was updated with the release of
-Windows XP; those using a previous version of Windows can reference
-this Microsoft Knowledge Base article
-(http://support.microsoft.com/default.aspx?scid=kb;EN-US;292539) for
-information on upgrading to the latest version of the Windows Installer
-Engine.
-
-In addition, Microsoft has introduced the WiX (Windows Installer XML)
-toolkit recently. This is the first highly acknowledged Open Source
-project from Microsoft. We have switched to WiX because it is an Open
-Source project and it enables us to handle the complete Windows
-installation process in a flexible manner using scripts.
-
-Improving the MySQL Installation Wizard depends on the support and
-feedback of users like you. If you find that the MySQL Installation
-Wizard is lacking some feature important to you, or if you discover a
-bug, please report it in our bugs database using the instructions given
-in *Note bug-reports::.
-
-
-File: manual.info,  Node: mysql-install-wizard-starting,  Next: mysql-install-wizard-install-type,  Prev: windows-install-wizard,  Up: windows-install-wizard
-
-3.3.4.2 Downloading and Starting the MySQL Installation Wizard
-..............................................................
-
-The MySQL installation packages can be downloaded from
-`http://dev.mysql.com/downloads/'. If the package you download is
-contained within a Zip archive, you need to extract the archive first.
-
-*Note*:
-
-If you are installing on Windows Vista or newer, it is best to open a
-network port before beginning the installation. To do this, first
-ensure that you are logged in as an Administrator, go to the `Control
-Panel', and double-click the `Windows Firewall' icon. Choose the `Allow
-a program through Windows Firewall' option and click the `Add port'
-button. Enter `MySQL' into the `Name' text box and `3306' (or the port
-of your choice) into the `Port number' text box. Also ensure that the
-`TCP' protocol radio button is selected. If you wish, you can also
-limit access to the MySQL server by choosing the `Change scope' button.
-Confirm your choices by clicking the `OK' button. If you do not open a
-port prior to installation, you cannot configure the MySQL server
-immediately after installation. Additionally, when running the MySQL
-Installation Wizard on Windows Vista or newer, ensure that you are
-logged in as a user with administrative rights.
-
-The process for starting the wizard depends on the contents of the
-installation package you download. If there is a `setup.exe' file
-present, double-click it to start the installation process. If there is
-an `.msi' file present, double-click it to start the installation
-process.
-
-
-File: manual.info,  Node: mysql-install-wizard-install-type,  Next: mysql-install-wizard-custom-install,  Prev: mysql-install-wizard-starting,  Up: windows-install-wizard
-
-3.3.4.3 Choosing an Install Type
-................................
-
-There are three installation types available: *Typical*, *Complete*, and
-*Custom*.
-
-The *Typical* installation type installs the MySQL server, the *Note
-`mysql': mysql.  command-line client, and the command-line utilities.
-The command-line clients and utilities include *Note `mysqldump':
-mysqldump, *Note `myisamchk': myisamchk, and several other tools to
-help you manage the MySQL server.
-
-The *Complete* installation type installs all components included in
-the installation package. The full installation package includes
-components such as the embedded server library, the benchmark suite,
-support scripts, and documentation.
-
-The *Custom* installation type gives you complete control over which
-packages you wish to install and the installation path that is used. See
-*Note mysql-install-wizard-custom-install::, for more information on
-performing a custom install.
-
-If you choose the *Typical* or *Complete* installation types and click
-the `Next' button, you advance to the confirmation screen to verify
-your choices and begin the installation. If you choose the *Custom*
-installation type and click the `Next' button, you advance to the
-custom installation dialog, described in *Note
-mysql-install-wizard-custom-install::.
-
-
-File: manual.info,  Node: mysql-install-wizard-custom-install,  Next: mysql-install-wizard-confirmation-dialog,  Prev: mysql-install-wizard-install-type,  Up: windows-install-wizard
-
-3.3.4.4 The Custom Install Dialog
-.................................
-
-If you wish to change the installation path or the specific components
-that are installed by the MySQL Installation Wizard, choose the *Custom*
-installation type.
-
-A tree view on the left side of the custom install dialog lists all
-available components. Components that are not installed have a red `X'
-icon; components that are installed have a gray icon. To change whether
-a component is installed, click that component's icon and choose a new
-option from the drop-down list that appears.
-
-You can change the default installation path by clicking the
-`Change...' button to the right of the displayed installation path.
-
-After choosing your installation components and installation path,
-click the `Next' button to advance to the confirmation dialog.
-
-
-File: manual.info,  Node: mysql-install-wizard-confirmation-dialog,  Next: mysql-install-wizard-changes,  Prev: mysql-install-wizard-custom-install,  Up: windows-install-wizard
-
-3.3.4.5 The Confirmation Dialog
-...............................
-
-Once you choose an installation type and optionally choose your
-installation components, you advance to the confirmation dialog. Your
-installation type and installation path are displayed for you to review.
-
-To install MySQL if you are satisfied with your settings, click the
-`Install' button. To change your settings, click the `Back' button.  To
-exit the MySQL Installation Wizard without installing MySQL, click the
-`Cancel' button.
-
-The final screen of the installer provides a summary of the
-installation and gives you the option to launch the MySQL Configuration
-Wizard, which you can use to create a configuration file, install the
-MySQL service, and configure security settings.
-
-
-File: manual.info,  Node: mysql-install-wizard-changes,  Next: mysql-install-wizard-upgrading,  Prev: mysql-install-wizard-confirmation-dialog,  Up: windows-install-wizard
-
-3.3.4.6 Changes Made by MySQL Installation Wizard
-.................................................
-
-Once you click the `Install' button, the MySQL Installation Wizard
-begins the installation process and makes certain changes to your
-system which are described in the sections that follow.
-
-*Changes to the Registry*
-
-The MySQL Installation Wizard creates one Windows registry key in a
-typical install situation, located in
-`HKEY_LOCAL_MACHINE\SOFTWARE\MySQL AB'.
-
-The MySQL Installation Wizard creates a key named after the major
-version of the server that is being installed, such as `MySQL Server
-5.5'. It contains two string values, `Location' and `Version'. The
-`Location' string contains the path to the installation directory. In a
-default installation it contains `C:\Program Files\MySQL\MySQL Server
-5.5\'. The `Version' string contains the release number.  For example,
-for an installation of MySQL Server 5.5.23, the key contains a value of
-`5.5.23'.
-
-These registry keys are used to help external tools identify the
-installed location of the MySQL server, preventing a complete scan of
-the hard-disk to determine the installation path of the MySQL server.
-The registry keys are not required to run the server, and if you
-install MySQL using the `noinstall' Zip archive, the registry keys are
-not created.
-
-*Changes to the Start Menu*
-
-The MySQL Installation Wizard creates a new entry in the Windows
-`Start' menu under a common MySQL menu heading named after the major
-version of MySQL that you have installed. For example, if you install
-MySQL 5.5, the MySQL Installation Wizard creates a `MySQL Server 5.5'
-section in the `Start' menu.
-
-The following entries are created within the new `Start' menu section:
-
-   * `MySQL Command Line Client': This is a shortcut to the *Note
-     `mysql': mysql. command-line client and is configured to connect
-     as the `root' user. The shortcut prompts for a `root' user
-     password when you connect.
-
-   * `MySQL Server Instance Config Wizard': This is a shortcut to the
-     MySQL Configuration Wizard. Use this shortcut to configure a newly
-     installed server, or to reconfigure an existing server.
-
-   * `MySQL Documentation': This is a link to the MySQL server
-     documentation that is stored locally in the MySQL server
-     installation directory.
-
-*Changes to the File System*
-
-The MySQL Installation Wizard by default installs the MySQL 5.5 server
-to `C:\PROGRAM FILES\MySQL\MySQL Server 5.5', where PROGRAM FILES is
-the default location for applications in your system, and 5.5 is the
-major version of your MySQL server. This is the recommended location
-for the MySQL server, replacing the former default location `C:\mysql'.
-
-By default, all MySQL applications are stored in a common directory at
-`C:\PROGRAM FILES\MySQL', where PROGRAM FILES is the default location
-for applications in your Windows installation. A typical MySQL
-installation on a developer machine might look like this:
-
-     C:\Program Files\MySQL\MySQL Server 5.5
-     C:\Program Files\MySQL\MySQL Workbench 5.1 OSS
-
-This approach makes it easier to manage and maintain all MySQL
-applications installed on a particular system.
-
-The default location of the data directory is the `AppData' directory
-configured for the user that installed the MySQL application.
-
-
-File: manual.info,  Node: mysql-install-wizard-upgrading,  Prev: mysql-install-wizard-changes,  Up: windows-install-wizard
-
-3.3.4.7 Upgrading MySQL with the Installation Wizard
-....................................................
-
-The MySQL Installation Wizard can perform server upgrades automatically
-using the upgrade capabilities of MSI. That means you do not need to
-remove a previous installation manually before installing a new
-release. The installer automatically shuts down and removes the
-previous MySQL service before installing the new version.
-
-Automatic upgrades are available only when upgrading between
-installations that have the same major and minor version numbers. For
-example, you can upgrade automatically from MySQL 5.5.5 to MySQL 5.5.6,
-but not from MySQL 5.1 to MySQL 5.5.
-
-See *Note windows-upgrading::.
-
-
-File: manual.info,  Node: windows-installer-msi-quiet,  Next: windows-installer-uninstalling,  Prev: windows-install-wizard,  Up: windows-using-installer
-
-3.3.4.8 Automating MySQL Installation on Microsoft Windows using the MSI Package
-................................................................................
-
-The Microsoft Installer (MSI) supports a both a _quiet_ and a _passive_
-mode that can be used to install MySQL automatically without requiring
-intervention. You can use this either in scripts to automatically
-install MySQL or through a terminal connection such as Telnet where you
-do not have access to the standard Windows user interface. The MSI
-packages can also be used in combination with Microsoft's Group Policy
-system (part of Windows Server 2003 and Windows Server 2008) to install
-MySQL across multiple machines.
-
-To install MySQL from one of the MSI packages automatically from the
-command line (or within a script), you need to use the `msiexec.exe'
-tool. For example, to perform a quiet installation (which shows no
-dialog boxes or progress):
-
-     shell> msiexec /i /quiet mysql-5.5.23.msi
-
-The `/i' indicates that you want to perform an installation. The
-`/quiet' option indicates that you want no interactive elements.
-
-To provide a dialog box showing the progress during installation, and
-the dialog boxes providing information on the installation and
-registration of MySQL, use `/passive' mode instead of `/quiet':
-
-     shell> msiexec /i /passive mysql-5.5.23.msi
-
-Regardless of the mode of the installation, installing the package in
-this manner performs a 'Typical' installation, and installs the default
-components into the standard location.
-
-You can also use this method to uninstall MySQL by using the
-`/uninstall' or `/x' options:
-
-     shell> msiexec /x /quiet mysql-5.5.23.msi
-
-To install MySQL and configure a MySQL instance from the command line,
-see *Note mysql-config-wizard-cmdline::.
-
-For information on using MSI packages to install software automatically
-using Group Policy, see How to use Group Policy to remotely install
-software in Windows Server 2003
-(http://support.microsoft.com/kb/816102).
-
-
-File: manual.info,  Node: windows-installer-uninstalling,  Prev: windows-installer-msi-quiet,  Up: windows-using-installer
-
-3.3.4.9 Removing MySQL When Installed from the MSI Package
-..........................................................
-
-To uninstall a MySQL where you have used the MSI packages, you must use
-the `Add/Remove Programs' tool within `Control Panel'. To do this:
-
-  1. Right-click the `start' menu and choose `Control Panel'.
-
-  2. If the Control Panel is set to category mode (you will see `Pick a
-     category' at the top of the `Control Panel' window), double-click
-     `Add or Remove Programs'. If the Control is set to classic mode,
-     double-click the `Add or Remove Programs' icon.
-
-  3. Find MySQL in the list of installed software. MySQL Server is
-     installed against major version numbers (MySQL 5.1, MySQL 5.5,
-     etc.). Select the version that you want to remove and click
-     `Remove'.
-
-  4. You will be prompted to confirm the removal. Click `Yes' to remove
-     MySQL.
-
-When MySQL is removed using this method, only the installed components
-are removed. Any database information (including the tables and data),
-import or export files, log files, and binary logs produced during
-execution are kept in their configured location.
-
-If you try to install MySQL again the information will be retained and
-you will be prompted to enter the password configured with the original
-installation.
-
-If you want to delete MySQL completely:
-
-   * Delete the associated data directory. On Windows XP and Windows
-     Server 2003, the default data directory is the configured AppData
-     directory, which is `C:\Documents and Settings\All
-     Users\Application Data\MySQL' by default.
-
-   * On Windows 7 and Windows Server 2008, the default data directory
-     location is `C:\ProgramData\Mysql'.
-
-     *Note*:
-
-     The `C:\ProgramData' directory is hidden by default. You must
-     change your folder options to view the hidden file. Choose
-     `Organize', `Folder and search options', `Show hidden folders'.
-
-
-File: manual.info,  Node: mysql-config-wizard,  Next: windows-install-archive,  Prev: windows-using-installer,  Up: windows-installation
-
-3.3.5 MySQL Server Instance Configuration Wizard
-------------------------------------------------
-
-* Menu:
-
-* mysql-config-wizard-starting::  Starting the MySQL Server Instance Configuration Wizard
-* mysql-config-wizard-maintenance::  Choosing a Maintenance Option
-* mysql-config-wizard-configuration-type::  Choosing a Configuration Type
-* mysql-config-wizard-server-type::  The Server Type Dialog
-* mysql-config-wizard-database-usage::  The Database Usage Dialog
-* mysql-config-wizard-tablespace::  The InnoDB Tablespace Dialog
-* mysql-config-wizard-connections::  The Concurrent Connections Dialog
-* mysql-config-wizard-networking::  The Networking and Strict Mode Options Dialog
-* mysql-config-wizard-character-set::  The Character Set Dialog
-* mysql-config-wizard-service::  The Service Options Dialog
-* mysql-config-wizard-security::  The Security Options Dialog
-* mysql-config-wizard-confirmation::  The Confirmation Dialog
-* mysql-config-wizard-cmdline::  MySQL Server Instance Config Wizard: Creating an Instance from the Command Line
-
-The MySQL Server Instance Configuration Wizard helps automate the
-process of configuring your server. It creates a custom MySQL
-configuration file (`my.ini' or `my.cnf') by asking you a series of
-questions and then applying your responses to a template to generate the
-configuration file that is tuned to your installation.
-
-The MySQL Server Instance Configuration Wizard is included with the
-MySQL 5.5 server. The MySQL Server Instance Configuration Wizard is
-only available for Windows.
-
-
-File: manual.info,  Node: mysql-config-wizard-starting,  Next: mysql-config-wizard-maintenance,  Prev: mysql-config-wizard,  Up: mysql-config-wizard
-
-3.3.5.1 Starting the MySQL Server Instance Configuration Wizard
-...............................................................
-
-The MySQL Server Instance Configuration Wizard is normally started as
-part of the installation process. You should only need to run the MySQL
-Server Instance Configuration Wizard again when you need to change the
-configuration parameters of your server.
-
-If you chose not to open a port prior to installing MySQL on Windows
-Vista or newer, you can choose to use the MySQL Server Configuration
-Wizard after installation. However, you must open a port in the Windows
-Firewall. To do this see the instructions given in *Note
-mysql-install-wizard-starting::. Rather than opening a port, you also
-have the option of adding MySQL as a program that bypasses the Windows
-Firewall. One or the other option is sufficient--you need not do both.
-Additionally, when running the MySQL Server Configuration Wizard on
-Windows Vista or newer, ensure that you are logged in as a user with
-administrative rights.
-
-MySQL Server Instance Configuration Wizard
-
-You can launch the MySQL Configuration Wizard by clicking the `MySQL
-Server Instance Config Wizard' entry in the `MySQL' section of the
-Windows `Start' menu.
-
-Alternatively, you can navigate to the `bin' directory of your MySQL
-installation and launch the `MySQLInstanceConfig.exe' file directly.
-
-The MySQL Server Instance Configuration Wizard places the `my.ini' file
-in the installation directory for the MySQL server. This helps
-associate configuration files with particular server instances.
-
-To ensure that the MySQL server knows where to look for the `my.ini'
-file, an argument similar to this is passed to the MySQL server as part
-of the service installation:
-
-     --defaults-file="C:\PROGRAM FILES\MYSQL\MYSQL SERVER 5.5\my.ini"
-
-Here, C:\PROGRAM FILES\MYSQL\MYSQL SERVER 5.5 is replaced with the
-installation path to the MySQL Server. The `--defaults-file' option
-instructs the MySQL server to read the specified file for configuration
-options when it starts.
-
-Apart from making changes to the `my.ini' file by running the MySQL
-Server Instance Configuration Wizard again, you can modify it by
-opening it with a text editor and making any necessary changes. You can
-also modify the server configuration with the
-http://www.mysql.com/products/administrator/ utility. For more
-information about server configuration, see *Note server-options::.
-
-MySQL clients and utilities such as the *Note `mysql': mysql.  and
-*Note `mysqldump': mysqldump. command-line clients are not able to
-locate the `my.ini' file located in the server installation directory.
-To configure the client and utility applications, create a new `my.ini'
-file in the Windows installation directory (for example, `C:\WINDOWS').
-
-Under Windows Server 2003, Windows Server 2000, Windows XP, and Windows
-Vista, MySQL Server Instance Configuration Wizard will configure MySQL
-to work as a Windows service. To start and stop MySQL you use the
-`Services' application that is supplied as part of the Windows
-Administrator Tools.
-
-
-File: manual.info,  Node: mysql-config-wizard-maintenance,  Next: mysql-config-wizard-configuration-type,  Prev: mysql-config-wizard-starting,  Up: mysql-config-wizard
-
-3.3.5.2 Choosing a Maintenance Option
-.....................................
-
-If the MySQL Server Instance Configuration Wizard detects an existing
-configuration file, you have the option of either reconfiguring your
-existing server, or removing the server instance by deleting the
-configuration file and stopping and removing the MySQL service.
-
-To reconfigure an existing server, choose the `Re-configure Instance'
-option and click the `Next' button. Any existing configuration file is
-not overwritten, but renamed (within the same directory) using a
-timestamp (Windows) or sequential number (Linux). To remove the
-existing server instance, choose the `Remove Instance' option and click
-the `Next' button.
-
-If you choose the `Remove Instance' option, you advance to a
-confirmation window. Click the `Execute' button. The MySQL Server
-Configuration Wizard stops and removes the MySQL service, and then
-deletes the configuration file. The server installation and its `data'
-folder are not removed.
-
-If you choose the `Re-configure Instance' option, you advance to the
-`Configuration Type' dialog where you can choose the type of
-installation that you wish to configure.
-
-
-File: manual.info,  Node: mysql-config-wizard-configuration-type,  Next: mysql-config-wizard-server-type,  Prev: mysql-config-wizard-maintenance,  Up: mysql-config-wizard
-
-3.3.5.3 Choosing a Configuration Type
-.....................................
-
-When you start the MySQL Server Instance Configuration Wizard for a new
-MySQL installation, or choose the `Re-configure Instance' option for an
-existing installation, you advance to the `Configuration Type' dialog.
-
-MySQL Server Instance Configuration Wizard: Configuration Type
-
-There are two configuration types available: `Detailed Configuration'
-and `Standard Configuration'. The `Standard Configuration' option is
-intended for new users who want to get started with MySQL quickly
-without having to make many decisions about server configuration. The
-`Detailed Configuration' option is intended for advanced users who want
-more fine-grained control over server configuration.
-
-If you are new to MySQL and need a server configured as a single-user
-developer machine, the `Standard Configuration' should suit your needs.
-Choosing the `Standard Configuration' option causes the MySQL
-Configuration Wizard to set all configuration options automatically
-with the exception of `Service Options' and `Security Options'.
-
-The `Standard Configuration' sets options that may be incompatible with
-systems where there are existing MySQL installations. If you have an
-existing MySQL installation on your system in addition to the
-installation you wish to configure, the `Detailed Configuration' option
-is recommended.
-
-To complete the `Standard Configuration', please refer to the sections
-on `Service Options' and `Security Options' in *Note
-mysql-config-wizard-service::, and *Note
-mysql-config-wizard-security::, respectively.
-
-
-File: manual.info,  Node: mysql-config-wizard-server-type,  Next: mysql-config-wizard-database-usage,  Prev: mysql-config-wizard-configuration-type,  Up: mysql-config-wizard
-
-3.3.5.4 The Server Type Dialog
-..............................
-
-There are three different server types available to choose from.  The
-server type that you choose affects the decisions that the MySQL Server
-Instance Configuration Wizard makes with regard to memory, disk, and
-processor usage.
-
-MySQL Server Instance Configuration Wizard: Server Type
-
-   * `Developer Machine': Choose this option for a typical desktop
-     workstation where MySQL is intended only for personal use. It is
-     assumed that many other desktop applications are running. The
-     MySQL server is configured to use minimal system resources.
-
-   * `Server Machine': Choose this option for a server machine where
-     the MySQL server is running alongside other server applications
-     such as FTP, email, and Web servers. The MySQL server is
-     configured to use a moderate portion of the system resources.
-
-   * `Dedicated MySQL Server Machine': Choose this option for a server
-     machine that is intended to run only the MySQL server. It is
-     assumed that no other applications are running. The MySQL server
-     is configured to use all available system resources.
-
-*Note*:
-
-By selecting one of the preconfigured configurations, the values and
-settings of various options in your `my.cnf' or `my.ini' will be
-altered accordingly. The default values and options as described in the
-reference manual may therefore be different to the options and values
-that were created during the execution of the configuration wizard.
-
-
-File: manual.info,  Node: mysql-config-wizard-database-usage,  Next: mysql-config-wizard-tablespace,  Prev: mysql-config-wizard-server-type,  Up: mysql-config-wizard
-
-3.3.5.5 The Database Usage Dialog
-.................................
-
-The `Database Usage' dialog enables you to indicate the storage engines
-that you expect to use when creating MySQL tables. The option you
-choose determines whether the `InnoDB' storage engine is available and
-what percentage of the server resources are available to `InnoDB'.
-
-MySQL Server Instance Configuration Wizard: Usage Dialog
-
-   * `Multifunctional Database': This option enables both the `InnoDB'
-     and `MyISAM' storage engines and divides resources evenly between
-     the two. This option is recommended for users who use both storage
-     engines on a regular basis.
-
-   * `Transactional Database Only': This option enables both the
-     `InnoDB' and `MyISAM' storage engines, but dedicates most server
-     resources to the `InnoDB' storage engine. This option is
-     recommended for users who use `InnoDB' almost exclusively and make
-     only minimal use of `MyISAM'.
-
-   * `Non-Transactional Database Only': This option disables the
-     `InnoDB' storage engine completely and dedicates all server
-     resources to the `MyISAM' storage engine. This option is
-     recommended for users who do not use `InnoDB'.
-
-The Configuration Wizard uses a template to generate the server
-configuration file. The `Database Usage' dialog sets one of the
-following option strings:
-
-     Multifunctional Database:        MIXED
-     Transactional Database Only:     INNODB
-     Non-Transactional Database Only: MYISAM
-
-When these options are processed through the default template
-(my-template.ini) the result is:
-
-     Multifunctional Database:
-     default-storage-engine=InnoDB
-     _myisam_pct=50
-
-     Transactional Database Only:
-     default-storage-engine=InnoDB
-     _myisam_pct=5
-
-     Non-Transactional Database Only:
-     default-storage-engine=MyISAM
-     _myisam_pct=100
-     skip-innodb
-
-The `_myisam_pct' value is used to calculate the percentage of
-resources dedicated to `MyISAM'. The remaining resources are allocated
-to `InnoDB'.
-
-
-File: manual.info,  Node: mysql-config-wizard-tablespace,  Next: mysql-config-wizard-connections,  Prev: mysql-config-wizard-database-usage,  Up: mysql-config-wizard
-
-3.3.5.6 The InnoDB Tablespace Dialog
-....................................
-
-Some users may want to locate the `InnoDB' tablespace files in a
-different location than the MySQL server data directory. Placing the
-tablespace files in a separate location can be desirable if your system
-has a higher capacity or higher performance storage device available,
-such as a RAID storage system.
-
-MySQL Server Instance Configuration Wizard: InnoDB Data Tablespace
-
-To change the default location for the `InnoDB' tablespace files,
-choose a new drive from the drop-down list of drive letters and choose
-a new path from the drop-down list of paths. To create a custom path,
-click the `...' button.
-
-If you are modifying the configuration of an existing server, you must
-click the `Modify' button before you change the path. In this situation
-you must move the existing tablespace files to the new location
-manually before starting the server.
-
-
-File: manual.info,  Node: mysql-config-wizard-connections,  Next: mysql-config-wizard-networking,  Prev: mysql-config-wizard-tablespace,  Up: mysql-config-wizard
-
-3.3.5.7 The Concurrent Connections Dialog
-.........................................
-
-To prevent the server from running out of resources, it is important to
-limit the number of concurrent connections to the MySQL server that can
-be established. The `Concurrent Connections' dialog enables you to
-choose the expected usage of your server, and sets the limit for
-concurrent connections accordingly. It is also possible to set the
-concurrent connection limit manually.
-
-MySQL Server Instance Configuration Wizard: Connections
-
-   * `Decision Support (DSS)/OLAP': Choose this option if your server
-     does not require a large number of concurrent connections. The
-     maximum number of connections is set at 100, with an average of 20
-     concurrent connections assumed.
-
-   * `Online Transaction Processing (OLTP)': Choose this option if your
-     server requires a large number of concurrent connections. The
-     maximum number of connections is set at 500.
-
-   * `Manual Setting': Choose this option to set the maximum number of
-     concurrent connections to the server manually. Choose the number
-     of concurrent connections from the drop-down box provided, or
-     enter the maximum number of connections into the drop-down box if
-     the number you desire is not listed.
-
-
-File: manual.info,  Node: mysql-config-wizard-networking,  Next: mysql-config-wizard-character-set,  Prev: mysql-config-wizard-connections,  Up: mysql-config-wizard
-
-3.3.5.8 The Networking and Strict Mode Options Dialog
-.....................................................
-
-Use the `Networking Options' dialog to enable or disable TCP/IP
-networking and to configure the port number that is used to connect to
-the MySQL server.
-
-MySQL Server Instance Configuration Wizard: Network Configuration
-
-TCP/IP networking is enabled by default. To disable TCP/IP networking,
-uncheck the box next to the `Enable TCP/IP Networking' option.
-
-Port 3306 is used by default. To change the port used to access MySQL,
-choose a new port number from the drop-down box or type a new port
-number directly into the drop-down box. If the port number you choose
-is in use, you are prompted to confirm your choice of port number.
-
-Set the `Server SQL Mode' to either enable or disable strict mode.
-Enabling strict mode (default) makes MySQL behave more like other
-database management systems. _If you run applications that rely on
-MySQL's old `forgiving' behavior, make sure to either adapt those
-applications or to disable strict mode._ For more information about
-strict mode, see *Note server-sql-mode::.
-
-
-File: manual.info,  Node: mysql-config-wizard-character-set,  Next: mysql-config-wizard-service,  Prev: mysql-config-wizard-networking,  Up: mysql-config-wizard
-
-3.3.5.9 The Character Set Dialog
-................................
-
-The MySQL server supports multiple character sets and it is possible to
-set a default server character set that is applied to all tables,
-columns, and databases unless overridden. Use the `Character Set'
-dialog to change the default character set of the MySQL server.
-
-MySQL Server Instance Configuration Wizard: Character Set
-
-   * `Standard Character Set': Choose this option if you want to use
-     `latin1' as the default server character set. `latin1' is used for
-     English and many Western European languages.
-
-   * `Best Support For Multilingualism': Choose this option if you want
-     to use `utf8' as the default server character set.  This is a
-     Unicode character set that can store characters from many
-     different languages.
-
-   * `Manual Selected Default Character Set / Collation': Choose this
-     option if you want to pick the server's default character set
-     manually. Choose the desired character set from the provided
-     drop-down list.
-
-
-File: manual.info,  Node: mysql-config-wizard-service,  Next: mysql-config-wizard-security,  Prev: mysql-config-wizard-character-set,  Up: mysql-config-wizard
-
-3.3.5.10 The Service Options Dialog
-...................................
-
-On Windows platforms, the MySQL server can be installed as a Windows
-service. When installed this way, the MySQL server can be started
-automatically during system startup, and even restarted automatically
-by Windows in the event of a service failure.
-
-The MySQL Server Instance Configuration Wizard installs the MySQL
-server as a service by default, using the service name `MySQL'. If you
-do not wish to install the service, uncheck the box next to the
-`Install As Windows Service' option. You can change the service name by
-picking a new service name from the drop-down box provided or by
-entering a new service name into the drop-down box.
-
-*Note*:
-
-Service names can include any legal character except forward (`/') or
-backward (`\') slashes, and must be less than 256 characters long.
-
-*Warning*:
-
-If you are installing multiple versions of MySQL onto the same machine,
-you _must_ choose a different service name for each version that you
-install. If you do not choose a different service for each installed
-version then the service manager information will be inconsistent and
-this will cause problems when you try to uninstall a previous version.
-
-If you have already installed multiple versions using the same service
-name, you must manually edit the contents of the
-`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services' parameters
-within the Windows registry to update the association of the service
-name with the correct server version.
-
-Typically, when installing multiple versions you create a service name
-based on the version information. For example, you might install MySQL
-5.x as `mysql5', or specific versions such as MySQL 5.5.0 as
-`mysql50500'.
-
-To install the MySQL server as a service but not have it started
-automatically at startup, uncheck the box next to the `Launch the MySQL
-Server Automatically' option.
-
-
-File: manual.info,  Node: mysql-config-wizard-security,  Next: mysql-config-wizard-confirmation,  Prev: mysql-config-wizard-service,  Up: mysql-config-wizard
-
-3.3.5.11 The Security Options Dialog
-....................................
-
-The content of the security options portion of the MySQL Server
-Instance Configuration Wizard will depend on whether this is a new
-installation, or modifying an existing installation.
-
-   * *Setting the root password for a new installation*
-
-     _It is strongly recommended that you set a `root' password for
-     your MySQL server_, and the MySQL Server Instance Config Wizard
-     requires by default that you do so. If you do not wish to set a
-     `root' password, uncheck the box next to the `Modify Security
-     Settings' option.
-
-     MySQL Server Instance Config Wizard: Security
-
-   * To set the `root' password, enter the desired password into both
-     the `New root password' and `Confirm' boxes.
-
-     *Setting the root password for an existing installation*
-
-     If you are modifying the configuration of an existing
-     configuration, or you are installing an upgrade and the MySQL
-     Server Instance Configuration Wizard has detected an existing
-     MySQL system, then you must enter the existing password for `root'
-     before changing the configuration information.
-
-     MySQL Server Instance Config Wizard: Security (Existing
-     Installation)
-
-     If you want to change the current `root' password, enter the
-     desired new password into both the `New root password' and
-     `Confirm' boxes.
-
-To permit `root' logins from across the network, check the box next to
-the `Enable root access from remote machines' option. This decreases
-the security of your `root' account.
-
-To create an anonymous user account, check the box next to the `Create
-An Anonymous Account' option.  Creating an anonymous account can
-decrease server security and cause login and permission difficulties.
-For this reason, it is not recommended.
-
-
-File: manual.info,  Node: mysql-config-wizard-confirmation,  Next: mysql-config-wizard-cmdline,  Prev: mysql-config-wizard-security,  Up: mysql-config-wizard
-
-3.3.5.12 The Confirmation Dialog
-................................
-
-The final dialog in the MySQL Server Instance Configuration Wizard is
-the `Confirmation Dialog'. To start the configuration process, click the
-`Execute' button. To return to a previous dialog, click the `Back'
-button. To exit the MySQL Server Instance Configuration Wizard without
-configuring the server, click the `Cancel' button.
-
-MySQL Server Instance Configuration Wizard: Confirmation
-
-After you click the `Execute' button, the MySQL Server Instance
-Configuration Wizard performs a series of tasks and displays the
-progress onscreen as the tasks are performed.
-
-The MySQL Server Instance Configuration Wizard first determines
-configuration file options based on your choices using a template
-prepared by MySQL developers and engineers. This template is named
-`my-template.ini' and is located in your server installation directory.
-
-The MySQL Configuration Wizard then writes these options to the
-corresponding configuration file.
-
-If you chose to create a service for the MySQL server, the MySQL Server
-Instance Configuration Wizard creates and starts the service. If you
-are reconfiguring an existing service, the MySQL Server Instance
-Configuration Wizard restarts the service to apply your configuration
-changes.
-
-If you chose to set a `root' password, the MySQL Configuration Wizard
-connects to the server, sets your new `root' password, and applies any
-other security settings you may have selected.
-
-After the MySQL Server Instance Configuration Wizard has completed its
-tasks, it displays a summary. Click the `Finish' button to exit the
-MySQL Server Configuration Wizard.
-
-
-File: manual.info,  Node: mysql-config-wizard-cmdline,  Prev: mysql-config-wizard-confirmation,  Up: mysql-config-wizard
-
-3.3.5.13 MySQL Server Instance Config Wizard: Creating an Instance from the Command Line
-........................................................................................
-
-In addition to using the GUI interface to the MySQL Server Instance
-Config Wizard, you can also create instances automatically from the
-command line.
-
-To use the MySQL Server Instance Config Wizard on the command line, you
-need to use the `MySQLInstanceConfig.exe' command that is installed
-with MySQL in the `bin' directory within the installation directory.
-`MySQLInstanceConfig.exe' takes a number of command-line arguments the
-set the properties that would normally be selected through the GUI
-interface, and then creates a new configuration file (`my.ini') by
-combining these selections with a template configuration file to
-produce the working configuration file.
-
-The main command line options are provided in the table below.  Some of
-the options are required, while some options are optional.
-
-*MySQL Server Instance Config Wizard Command Line Options*
-
-Option         Description
-Required       
-Parameters     
-`-nPRODUCTNAME'The name of the instance when installed
-`-pPATH'       Path of the base directory for
-               installation. This is equivalent to the
-               directory when using the `basedir'
-               configuration parameter
-`-vVERSION'    The version tag to use for this
-               installation
-Action to      
-Perform        
-`-i'           Install an instance
-`-r'           Remove an instance
-`-s'           Stop an existing instance
-`-q'           Perform the operation quietly
-`-lFILENAME'   Sae the installation progress in a logfile
-Config File    
-to Use         
-`-tFILENAME'   Path to the template config file that will
-               be used to generate the installed
-               configuration file
-`-cFILENAME'   Path to a config file to be generated
-
-The `-t' and `-c' options work together to set the configuration
-parameters for a new instance.  The `-t' option specifies the template
-configuration file to use as the basic configuration, which are then
-merged with the configuration parameters generated by the MySQL Server
-Instance Config Wizard into the configuration file specified by the
-`-c' option.
-
-A sample template file, `my-template.ini' is provided in the toplevel
-MySQL installation directory. The file contains elements are replaced
-automatically by the MySQL Server Instance Config Wizard during
-configuration.
-
-If you specify a configuration file that already exists, the existing
-configuration file will be saved in the file with the original, with
-the date and time added. For example, the `mysql.ini' will be copied to
-`mysql 2009-10-27 1646.ini.bak'.
-
-The parameters that you can specify on the command line are listed in
-the table below.
-
-*MySQL Server Instance Config Wizard Parameters*
-
-Parameter      Description
-`ServiceName=$'Specify the name of the service to be
-               created
-`AddBinToPath={yesSpecifies whether to add the binary
-| no}'         directory of MySQL to the standard `PATH'
-               environment variable
-`ServerType={DEVELOPMENTSpecify the server type. For more
-| SERVER |     information, see *Note
-DEDICATED}'    mysql-config-wizard-server-type::
-`DatabaseType={MIXEDSpecify the default database type. For
-| INNODB |     more information, see *Note
-MYISAM}'       mysql-config-wizard-database-usage::
-`ConnectionUsage={DSSSpecify the type of connection support,
-| OLTP}'       this automates the setting for the number
-               of concurrent connections (see the
-               `ConnectionCount' parameter). For more
-               information, see *Note
-               mysql-config-wizard-connections::
-`ConnectionCount=#'Specify the number of concurrent
-               connections to support. For more
-               information, see *Note
-               mysql-config-wizard-server-type::
-`SkipNetworking={yesSpecify whether network support should be
-| no}'         supported. Specifying `yes' disables
-               network access altogether
-`Port=#'       Specify the network port number to use for
-               network connections. For more information,
-               see *Note mysql-config-wizard-networking::
-`StrictMode={yesSpecify whether to use the `strict' SQL
-| no}'         mode. For more information, see *Note
-               mysql-config-wizard-networking::
-`Charset=$'    Specify the default character set. For
-               more information, see *Note
-               mysql-config-wizard-character-set::
-`RootPassword=$'Specify the root password
-`RootCurrentPassword=$'Specify the current root password then
-               stopping or reconfiguring an existing
-               service
-
-*Note*:
-
-When specifying options on the command line, you can enclose the entire
-command-line option and the value you are specifying using double
-quotation marks. This enables you to use spaces in the options. For
-example, `"-cC:\mysql.ini"'.
-
-The following command installs a MySQL Server 5.5 instance from the
-directory `C:\Program Files\MySQL\MySQL Server 5.5' using the service
-name `MySQL55' and setting the root password to 1234.
-
-     shell> MySQLInstanceConfig.exe -i -q "-lC:\mysql_install_log.txt" »
-        "-nMySQL Server 5.5" "-pC:\Program Files\MySQL\MySQL Server 5.5" -v5.5.23 »
-        "-tmy-template.ini" "-cC:\mytest.ini" ServerType=DEVELOPMENT DatabaseType=MIXED »
-        ConnectionUsage=DSS Port=3311 ServiceName=MySQL55 RootPassword=1234
-
-In the above example, a log file will be generated in
-`mysql_install_log.txt' containing the information about the instance
-creation process. The log file generated by the above example is shown
-below:
-
-     Welcome to the MySQL Server Instance Configuration Wizard 1.0.16.0
-     Date: 2009-10-27 17:07:21
-
-     Installing service ...
-
-     Product Name:         MySQL Server 5.5
-     Version:              5.5.23
-     Installation Path:    C:\Program Files\MySQL\MySQL Server 5.5\
-
-     Creating configuration file C:\mytest.ini using template my-template.ini.
-     Options:
-     DEVELOPMENT
-     MIXED
-     DSS
-     STRICTMODE
-
-     Variables:
-     port: 3311
-     default-character-set: latin1
-     basedir: "C:/Program Files/MySQL/MySQL Server 5.5/"
-     datadir: "C:/Program Files/MySQL/MySQL Server 5.5/Data/"
-
-     Creating Windows service entry.
-     Service name: "MySQL55"
-     Parameters:   "C: