Merge lp:~raghavendra-prabhu/percona-xtradb-cluster/release-5.5.31 into lp:percona-xtradb-cluster/percona-xtradb-cluster-5.5
- release-5.5.31
- Merge into 5.5
Proposed by
Raghavendra D Prabhu
Status: | Merged |
---|---|
Approved by: | Laurynas Biveinis |
Approved revision: | no longer in the source branch. |
Merged at revision: | 388 |
Proposed branch: | lp:~raghavendra-prabhu/percona-xtradb-cluster/release-5.5.31 |
Merge into: | lp:percona-xtradb-cluster/percona-xtradb-cluster-5.5 |
Diff against target: |
152169 lines (+73046/-69330) 333 files modified
Makefile.ps (+2/-2) Percona-Server/BUILD/compile-alpha-debug (+2/-1) Percona-Server/BUILD/compile-amd64-debug-max (+2/-1) Percona-Server/BUILD/compile-amd64-max (+2/-1) Percona-Server/BUILD/compile-darwin-mwcc (+2/-1) Percona-Server/BUILD/compile-hpux11-parisc2-aCC (+2/-1) Percona-Server/BUILD/compile-irix-mips64-mipspro (+2/-1) Percona-Server/BUILD/compile-ndb-autotest (+1/-1) Percona-Server/BUILD/compile-pentium (+2/-1) Percona-Server/BUILD/compile-pentium-debug-max-no-embedded (+2/-1) Percona-Server/BUILD/compile-pentium-debug-max-no-ndb (+1/-1) Percona-Server/BUILD/compile-pentium-max (+2/-1) Percona-Server/BUILD/compile-pentium-pgcc (+2/-1) Percona-Server/BUILD/compile-ppc-debug (+2/-1) Percona-Server/BUILD/compile-ppc-debug-max (+2/-1) Percona-Server/BUILD/compile-ppc-debug-max-no-ndb (+2/-1) Percona-Server/BUILD/compile-ppc-max (+2/-1) Percona-Server/BUILD/compile-solaris-sparc-debug (+2/-1) Percona-Server/BUILD/compile-solaris-sparc-purify (+2/-1) Percona-Server/VERSION (+1/-1) Percona-Server/client/client_priv.h (+1/-1) Percona-Server/client/completion_hash.h (+2/-1) Percona-Server/client/echo.c (+2/-1) Percona-Server/client/get_password.c (+2/-1) Percona-Server/client/mysqlcheck.c (+61/-27) Percona-Server/client/mysqldump.c (+1/-1) Percona-Server/client/mysqltest.cc (+4/-1) Percona-Server/client/sql_string.cc (+2/-2) Percona-Server/cmake/configure.pl (+1/-1) Percona-Server/cmake/create_initial_db.cmake.in (+1/-1) Percona-Server/cmake/make_dist.cmake.in (+1/-1) Percona-Server/cmake/mysql_version.cmake (+1/-1) Percona-Server/cmake/package_name.cmake (+1/-1) Percona-Server/cmake/plugin.cmake (+1/-1) Percona-Server/cmake/ssl.cmake (+1/-1) Percona-Server/cmake/wsrep.cmake (+1/-1) Percona-Server/cmake/zlib.cmake (+6/-2) Percona-Server/configure.cmake (+1/-1) Percona-Server/extra/charset2html.c (+2/-1) Percona-Server/extra/yassl/CMakeLists.txt (+1/-1) Percona-Server/extra/yassl/examples/client/client.cpp (+1/-1) Percona-Server/extra/yassl/examples/echoclient/echoclient.cpp (+1/-1) Percona-Server/extra/yassl/examples/echoserver/echoserver.cpp (+1/-1) Percona-Server/extra/yassl/examples/server/server.cpp (+1/-1) Percona-Server/extra/yassl/include/buffer.hpp (+1/-1) Percona-Server/extra/yassl/include/cert_wrapper.hpp (+1/-2) Percona-Server/extra/yassl/include/lock.hpp (+1/-1) Percona-Server/extra/yassl/include/openssl/prefix_ssl.h (+1/-2) Percona-Server/extra/yassl/include/socket_wrapper.hpp (+1/-1) Percona-Server/extra/yassl/include/yassl_error.hpp (+3/-3) Percona-Server/extra/yassl/include/yassl_imp.hpp (+1/-2) Percona-Server/extra/yassl/include/yassl_int.hpp (+1/-1) Percona-Server/extra/yassl/include/yassl_types.hpp (+6/-3) Percona-Server/extra/yassl/src/buffer.cpp (+1/-2) Percona-Server/extra/yassl/src/cert_wrapper.cpp (+1/-2) Percona-Server/extra/yassl/src/crypto_wrapper.cpp (+1/-1) Percona-Server/extra/yassl/src/handshake.cpp (+36/-2) Percona-Server/extra/yassl/src/lock.cpp (+1/-1) Percona-Server/extra/yassl/src/make.bat (+1/-1) Percona-Server/extra/yassl/src/socket_wrapper.cpp (+1/-1) Percona-Server/extra/yassl/src/ssl.cpp (+1/-2) Percona-Server/extra/yassl/src/template_instnt.cpp (+2/-1) Percona-Server/extra/yassl/src/yassl.cpp (+1/-1) Percona-Server/extra/yassl/src/yassl_error.cpp (+5/-1) Percona-Server/extra/yassl/src/yassl_imp.cpp (+172/-26) Percona-Server/extra/yassl/taocrypt/benchmark/benchmark.cpp (+1/-1) Percona-Server/extra/yassl/taocrypt/benchmark/make.bat (+1/-1) Percona-Server/extra/yassl/taocrypt/include/aes.hpp (+1/-1) Percona-Server/extra/yassl/taocrypt/include/asn.hpp (+1/-2) Percona-Server/extra/yassl/taocrypt/include/block.hpp (+1/-2) Percona-Server/extra/yassl/taocrypt/include/blowfish.hpp (+1/-1) Percona-Server/extra/yassl/taocrypt/include/des.hpp (+1/-1) Percona-Server/extra/yassl/taocrypt/include/hash.hpp (+1/-1) Percona-Server/extra/yassl/taocrypt/include/hc128.hpp (+1/-1) Percona-Server/extra/yassl/taocrypt/include/integer.hpp (+1/-1) Percona-Server/extra/yassl/taocrypt/include/kernelc.hpp (+1/-1) Percona-Server/extra/yassl/taocrypt/include/misc.hpp (+1/-1) Percona-Server/extra/yassl/taocrypt/include/modes.hpp (+1/-2) Percona-Server/extra/yassl/taocrypt/include/pwdbased.hpp (+1/-1) Percona-Server/extra/yassl/taocrypt/include/rabbit.hpp (+1/-1) Percona-Server/extra/yassl/taocrypt/include/rsa.hpp (+1/-1) Percona-Server/extra/yassl/taocrypt/include/runtime.hpp (+1/-1) Percona-Server/extra/yassl/taocrypt/include/types.hpp (+1/-1) Percona-Server/extra/yassl/taocrypt/mySTL/stdexcept.hpp (+1/-1) Percona-Server/extra/yassl/taocrypt/mySTL/vector.hpp (+1/-1) Percona-Server/extra/yassl/taocrypt/src/aes.cpp (+1/-1) Percona-Server/extra/yassl/taocrypt/src/aestables.cpp (+1/-1) Percona-Server/extra/yassl/taocrypt/src/algebra.cpp (+1/-1) Percona-Server/extra/yassl/taocrypt/src/arc4.cpp (+1/-1) Percona-Server/extra/yassl/taocrypt/src/blowfish.cpp (+1/-1) Percona-Server/extra/yassl/taocrypt/src/coding.cpp (+1/-1) Percona-Server/extra/yassl/taocrypt/src/dsa.cpp (+1/-1) Percona-Server/extra/yassl/taocrypt/src/hash.cpp (+1/-1) Percona-Server/extra/yassl/taocrypt/src/hc128.cpp (+1/-1) Percona-Server/extra/yassl/taocrypt/src/make.bat (+1/-1) Percona-Server/extra/yassl/taocrypt/src/md4.cpp (+1/-1) Percona-Server/extra/yassl/taocrypt/src/md5.cpp (+1/-1) Percona-Server/extra/yassl/taocrypt/src/misc.cpp (+1/-1) Percona-Server/extra/yassl/taocrypt/src/rabbit.cpp (+1/-1) Percona-Server/extra/yassl/taocrypt/src/random.cpp (+1/-1) Percona-Server/extra/yassl/taocrypt/src/ripemd.cpp (+1/-1) Percona-Server/extra/yassl/taocrypt/src/rsa.cpp (+1/-1) Percona-Server/extra/yassl/taocrypt/src/sha.cpp (+1/-1) Percona-Server/extra/yassl/taocrypt/src/template_instnt.cpp (+1/-1) Percona-Server/extra/yassl/taocrypt/src/twofish.cpp (+1/-1) Percona-Server/extra/yassl/taocrypt/test/make.bat (+1/-1) Percona-Server/extra/yassl/taocrypt/test/memory.cpp (+1/-1) Percona-Server/extra/yassl/taocrypt/test/test.cpp (+1/-1) Percona-Server/extra/yassl/testsuite/make.bat (+1/-1) Percona-Server/extra/yassl/testsuite/test.hpp (+1/-1) Percona-Server/extra/yassl/testsuite/testsuite.cpp (+1/-1) Percona-Server/include/base64.h (+2/-1) Percona-Server/include/errmsg.h (+1/-0) Percona-Server/include/ft_global.h (+1/-1) Percona-Server/include/m_ctype.h (+3/-1) Percona-Server/include/m_string.h (+1/-1) Percona-Server/include/my_base.h (+1/-0) Percona-Server/include/my_md5.h (+2/-1) Percona-Server/include/my_sys.h (+1/-1) Percona-Server/include/my_user.h (+2/-1) Percona-Server/include/my_xml.h (+2/-1) Percona-Server/include/myisampack.h (+1/-1) Percona-Server/include/mysql.h (+1/-1) Percona-Server/include/mysql/service_my_snprintf.h (+1/-1) Percona-Server/include/mysql/thread_pool_priv.h (+1/-1) Percona-Server/include/mysql_time.h (+2/-1) Percona-Server/include/mysql_version.h.in (+2/-1) Percona-Server/include/welcome_copyright_notice.h (+1/-1) Percona-Server/libmysql/CMakeLists.txt (+5/-2) Percona-Server/libmysql/errmsg.c (+1/-0) Percona-Server/libmysql/libmysql.c (+8/-1) Percona-Server/libmysql/libmysql.map (+146/-0) Percona-Server/mysql-test/collections/default.experimental (+1/-0) Percona-Server/mysql-test/include/get_relay_log_pos.inc (+1/-1) Percona-Server/mysql-test/include/rpl_init.inc (+0/-3) Percona-Server/mysql-test/mysql-test-run.pl (+23/-4) Percona-Server/mysql-test/r/cast.result (+18/-0) Percona-Server/mysql-test/r/change_user_notembedded.result (+5/-0) Percona-Server/mysql-test/r/ctype_utf8mb4.result (+18/-0) Percona-Server/mysql-test/r/failed_auth_3909.result (+20/-0) Percona-Server/mysql-test/r/join_outer.result (+32/-0) Percona-Server/mysql-test/r/mysqltest.result (+3/-3) Percona-Server/mysql-test/r/partition.result (+2/-2) Percona-Server/mysql-test/r/percona_server_variables_debug.result (+2/-0) Percona-Server/mysql-test/r/percona_server_variables_release.result (+1/-0) Percona-Server/mysql-test/r/show_check.result (+9/-9) Percona-Server/mysql-test/suite/binlog/r/binlog_spurious_ddl_errors.result (+1/-0) Percona-Server/mysql-test/suite/binlog/t/binlog_spurious_ddl_errors.test (+3/-1) Percona-Server/mysql-test/suite/binlog/t/disabled.def (+1/-1) Percona-Server/mysql-test/suite/innodb/r/innodb_bug14147491.result (+15/-4) Percona-Server/mysql-test/suite/innodb/t/innodb_bug12400341.test (+4/-0) Percona-Server/mysql-test/suite/innodb/t/innodb_bug14147491.test (+45/-9) Percona-Server/mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result (+11605/-11605) Percona-Server/mysql-test/suite/parts/r/partition_alter1_1_innodb.result (+32/-32) Percona-Server/mysql-test/suite/parts/r/partition_alter1_2_innodb.result (+21002/-21002) Percona-Server/mysql-test/suite/parts/r/partition_alter2_1_1_innodb.result (+40/-40) Percona-Server/mysql-test/suite/parts/r/partition_alter2_1_2_innodb.result (+40/-40) Percona-Server/mysql-test/suite/parts/r/partition_alter2_2_1_innodb.result (+11354/-11354) Percona-Server/mysql-test/suite/parts/r/partition_alter2_2_2_innodb.result (+40/-40) Percona-Server/mysql-test/suite/parts/r/partition_alter4_innodb.result (+208/-208) Percona-Server/mysql-test/suite/parts/r/partition_basic_innodb.result (+23390/-23390) Percona-Server/mysql-test/suite/parts/r/partition_engine_innodb.result (+11/-11) Percona-Server/mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result (+12/-0) Percona-Server/mysql-test/suite/rpl/r/rpl_percona_bug1092593.result (+20/-0) Percona-Server/mysql-test/suite/rpl/r/rpl_row_until.result (+12/-10) Percona-Server/mysql-test/suite/rpl/r/rpl_stm_until.result (+1/-11) Percona-Server/mysql-test/suite/rpl/t/disabled.def (+0/-1) Percona-Server/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test (+12/-0) Percona-Server/mysql-test/suite/rpl/t/rpl_percona_bug1092593-slave.opt (+1/-0) Percona-Server/mysql-test/suite/rpl/t/rpl_percona_bug1092593.test (+81/-0) Percona-Server/mysql-test/suite/rpl/t/rpl_row_until.test (+52/-25) Percona-Server/mysql-test/suite/rpl/t/rpl_stm_until.test (+2/-33) Percona-Server/mysql-test/suite/sys_vars/r/innodb_buffer_pool_evict_basic.result (+7/-0) Percona-Server/mysql-test/suite/sys_vars/r/innodb_use_atomic_writes_basic.result (+30/-0) Percona-Server/mysql-test/suite/sys_vars/t/innodb_buffer_pool_evict_basic.test (+10/-0) Percona-Server/mysql-test/suite/sys_vars/t/innodb_use_atomic_writes_basic.test (+29/-0) Percona-Server/mysql-test/t/cast.test (+13/-0) Percona-Server/mysql-test/t/change_user_notembedded.test (+24/-0) Percona-Server/mysql-test/t/ctype_utf8mb4.test (+15/-0) Percona-Server/mysql-test/t/failed_auth_3909.test (+37/-0) Percona-Server/mysql-test/t/join_outer.test (+30/-0) Percona-Server/mysql-test/t/mysql_plugin.test (+16/-50) Percona-Server/mysql-test/t/percona_bug1170103.test (+23/-0) Percona-Server/mysys/default.c (+37/-0) Percona-Server/mysys/errors.c (+2/-2) Percona-Server/mysys/mf_keycache.c (+2/-1) Percona-Server/mysys/my_lockmem.c (+1/-1) Percona-Server/mysys/my_malloc.c (+9/-3) Percona-Server/mysys/my_once.c (+1/-1) Percona-Server/mysys/my_write.c (+3/-3) Percona-Server/mysys/thr_alarm.c (+8/-14) Percona-Server/packaging/WiX/mysql_server.wxs.in (+5/-2) Percona-Server/packaging/rpm-uln/mysql.spec.sh (+18/-11) Percona-Server/regex/my_regex.h (+1/-1) Percona-Server/regex/regcomp.c (+1/-1) Percona-Server/scripts/CMakeLists.txt (+1/-1) Percona-Server/scripts/clustercheck.sh (+2/-2) Percona-Server/scripts/mysql_system_tables_data.sql (+9/-5) Percona-Server/scripts/mysqld_safe.sh (+17/-4) Percona-Server/scripts/pyclustercheck (+109/-0) Percona-Server/scripts/wsrep_sst_common.sh (+8/-1) Percona-Server/scripts/wsrep_sst_mysqldump.sh (+8/-8) Percona-Server/scripts/wsrep_sst_rsync.sh (+33/-3) Percona-Server/scripts/wsrep_sst_xtrabackup.sh (+293/-36) Percona-Server/sql/CMakeLists.txt (+3/-9) Percona-Server/sql/db.opt (+2/-0) Percona-Server/sql/ha_partition.cc (+469/-25) Percona-Server/sql/ha_partition.h (+16/-4) Percona-Server/sql/handler.cc (+16/-2) Percona-Server/sql/item.cc (+2/-2) Percona-Server/sql/item.h (+19/-1) Percona-Server/sql/item_cmpfunc.cc (+4/-3) Percona-Server/sql/item_func.cc (+2/-2) Percona-Server/sql/item_func.h (+12/-9) Percona-Server/sql/item_sum.cc (+4/-0) Percona-Server/sql/key.cc (+72/-44) Percona-Server/sql/key.h (+3/-1) Percona-Server/sql/log.h (+6/-0) Percona-Server/sql/log_event.cc (+40/-5) Percona-Server/sql/log_event.h (+28/-2) Percona-Server/sql/mysqld.cc (+52/-9) Percona-Server/sql/mysqld.h (+1/-0) Percona-Server/sql/opt_range.cc (+91/-19) Percona-Server/sql/partition_element.h (+3/-4) Percona-Server/sql/partition_info.cc (+286/-2) Percona-Server/sql/partition_info.h (+16/-1) Percona-Server/sql/rpl_utility.cc (+1/-0) Percona-Server/sql/set_var.cc (+7/-10) Percona-Server/sql/set_var.h (+23/-7) Percona-Server/sql/slave.cc (+0/-17) Percona-Server/sql/sp_head.cc (+2/-1) Percona-Server/sql/sql_acl.cc (+50/-7) Percona-Server/sql/sql_admin.cc (+6/-2) Percona-Server/sql/sql_admin.h (+3/-1) Percona-Server/sql/sql_binlog.cc (+1/-1) Percona-Server/sql/sql_class.cc (+23/-6) Percona-Server/sql/sql_class.h (+1/-0) Percona-Server/sql/sql_handler.cc (+10/-5) Percona-Server/sql/sql_parse.cc (+24/-1) Percona-Server/sql/sql_partition.cc (+200/-19) Percona-Server/sql/sql_partition.h (+3/-2) Percona-Server/sql/sql_partition_admin.cc (+3/-1) Percona-Server/sql/sql_prepare.cc (+4/-3) Percona-Server/sql/sql_repl.cc (+17/-33) Percona-Server/sql/sql_select.cc (+5/-4) Percona-Server/sql/sql_show.cc (+23/-15) Percona-Server/sql/sql_string.cc (+1/-1) Percona-Server/sql/sql_table.cc (+7/-4) Percona-Server/sql/sql_view.cc (+9/-3) Percona-Server/sql/sql_yacc.yy (+22/-3) Percona-Server/sql/sys_vars.cc (+1/-1) Percona-Server/sql/tztime.cc (+3/-0) Percona-Server/sql/wsrep_hton.cc (+2/-0) Percona-Server/sql/wsrep_mysqld.cc (+11/-2) Percona-Server/sql/wsrep_mysqld.h (+1/-0) Percona-Server/sql/wsrep_var.cc (+1/-0) Percona-Server/storage/innobase/btr/btr0cur.c (+27/-20) Percona-Server/storage/innobase/buf/buf0buf.c (+14/-5) Percona-Server/storage/innobase/buf/buf0rea.c (+1/-1) Percona-Server/storage/innobase/dict/dict0crea.c (+9/-0) Percona-Server/storage/innobase/dict/dict0dict.c (+13/-3) Percona-Server/storage/innobase/dyn/dyn0dyn.c (+4/-4) Percona-Server/storage/innobase/fil/fil0fil.c (+24/-0) Percona-Server/storage/innobase/handler/ha_innodb.cc (+169/-14) Percona-Server/storage/innobase/handler/ha_innodb.h (+1/-0) Percona-Server/storage/innobase/handler/i_s.cc (+70/-1) Percona-Server/storage/innobase/ibuf/ibuf0ibuf.c (+11/-1) Percona-Server/storage/innobase/include/db0err.h (+1/-0) Percona-Server/storage/innobase/include/dyn0dyn.h (+50/-38) Percona-Server/storage/innobase/include/dyn0dyn.ic (+42/-101) Percona-Server/storage/innobase/include/ha_prototypes.h (+11/-0) Percona-Server/storage/innobase/include/mtr0mtr.h (+6/-4) Percona-Server/storage/innobase/include/page0zip.ic (+3/-3) Percona-Server/storage/innobase/include/srv0srv.h (+10/-0) Percona-Server/storage/innobase/include/trx0i_s.h (+16/-0) Percona-Server/storage/innobase/include/trx0sys.h (+15/-15) Percona-Server/storage/innobase/include/ut0dbg.h (+0/-40) Percona-Server/storage/innobase/lock/lock0lock.c (+6/-1) Percona-Server/storage/innobase/mtr/mtr0mtr.c (+80/-77) Percona-Server/storage/innobase/os/os0file.c (+60/-0) Percona-Server/storage/innobase/os/os0proc.c (+9/-0) Percona-Server/storage/innobase/page/page0zip.c (+6/-5) Percona-Server/storage/innobase/read/read0read.c (+6/-0) Percona-Server/storage/innobase/row/row0ins.c (+12/-10) Percona-Server/storage/innobase/row/row0mysql.c (+1/-1) Percona-Server/storage/innobase/row/row0sel.c (+7/-3) Percona-Server/storage/innobase/row/row0upd.c (+64/-10) Percona-Server/storage/innobase/srv/srv0srv.c (+46/-15) Percona-Server/storage/innobase/srv/srv0start.c (+10/-0) Percona-Server/storage/innobase/sync/sync0arr.c (+4/-4) Percona-Server/storage/innobase/trx/trx0i_s.c (+15/-0) Percona-Server/storage/innobase/trx/trx0sys.c (+3/-1) Percona-Server/storage/innobase/trx/trx0trx.c (+13/-0) Percona-Server/storage/innobase/ut/ut0dbg.c (+1/-33) Percona-Server/storage/innobase/ut/ut0ut.c (+2/-0) Percona-Server/storage/myisam/mi_close.c (+6/-3) Percona-Server/storage/myisam/mi_create.c (+8/-4) Percona-Server/storage/myisam/mi_open.c (+29/-8) Percona-Server/storage/myisam/mi_write.c (+8/-5) Percona-Server/storage/myisam/myisampack.c (+2/-1) Percona-Server/storage/perfschema/pfs_engine_table.cc (+4/-4) Percona-Server/storage/perfschema/pfs_global.cc (+2/-2) Percona-Server/storage/perfschema/pfs_global.h (+2/-2) Percona-Server/strings/ctype-bin.c (+20/-7) Percona-Server/strings/ctype-mb.c (+39/-12) Percona-Server/strings/ctype-simple.c (+20/-6) Percona-Server/strings/ctype-uca.c (+19/-7) Percona-Server/strings/ctype-utf8.c (+23/-10) Percona-Server/strings/ctype.c (+2/-0) Percona-Server/strings/decimal.c (+2/-2) Percona-Server/support-files/MySQL-shared-compat.spec.sh (+1/-1) Percona-Server/support-files/mysql.server.sh (+24/-4) Percona-Server/support-files/mysql.spec.sh (+124/-57) Percona-Server/tests/mysql_client_test.c (+196/-160) Percona-Server/unittest/mysys/my_vsnprintf-t.c (+3/-1) Percona-Server/vio/viossl.c (+3/-0) WSREP-REVISION (+1/-1) build/build-dpkg.sh (+19/-6) build/build-rpm.sh (+1/-2) build/debian/additions/debian-start (+7/-0) build/debian/control (+5/-4) build/debian/percona-xtradb-cluster-server-5.5.install (+1/-0) build/debian/percona-xtradb-cluster-server-5.5.mysql.init (+131/-31) build/debian/rules (+3/-3) build/percona-shared-compat.spec (+1/-1) build/percona-xtradb-cluster.spec (+39/-33) build/rpm/mysql-dubious-exports.patch (+158/-0) doc-ps/source/conf.py (+1/-1) doc-ps/source/performance/innodb_lazy_drop_table.rst (+5/-0) doc-ps/source/performance/threadpool.rst (+32/-45) doc-ps/source/release-notes/Percona-Server-5.5.30-30.2.rst (+78/-0) doc-ps/source/release-notes/release-notes_index.rst (+1/-0) doc-ps/source/upstream-bug-fixes.rst (+48/-18) |
To merge this branch: | bzr merge lp:~raghavendra-prabhu/percona-xtradb-cluster/release-5.5.31 |
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Laurynas Biveinis (community) | Approve | ||
Review via email: mp+168543@code.launchpad.net |
Commit message
Description of the change
Review required after the co-ordinates are changed. I have tested this and it looks good.
To post a comment you must log in.
Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote : | # |
Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote : | # |
Looks good to me.
If disk format compatibility between PXC and MySQL + Galera libs is important, then it's an important patch to push to Galera upstream.
review:
Approve
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'Makefile.ps' | |||
2 | --- Makefile.ps 2013-04-18 16:15:44 +0000 | |||
3 | +++ Makefile.ps 2013-06-23 08:01:44 +0000 | |||
4 | @@ -1,7 +1,7 @@ | |||
5 | 1 | FETCH_CMD=wget | 1 | FETCH_CMD=wget |
6 | 2 | MASTER_SITE=http://s3.amazonaws.com/percona.com/downloads/community | 2 | MASTER_SITE=http://s3.amazonaws.com/percona.com/downloads/community |
9 | 3 | MYSQL_VERSION=5.5.30 | 3 | MYSQL_VERSION=5.5.31 |
10 | 4 | PERCONA_SERVER_VERSION=rel30.2 | 4 | PERCONA_SERVER_VERSION=rel30.3 |
11 | 5 | PERCONA_SERVER ?=Percona-Server-$(MYSQL_VERSION)-$(PERCONA_SERVER_VERSION) | 5 | PERCONA_SERVER ?=Percona-Server-$(MYSQL_VERSION)-$(PERCONA_SERVER_VERSION) |
12 | 6 | PERCONA_SERVER_SHORT_1 ?=Percona-Server-$(MYSQL_VERSION) | 6 | PERCONA_SERVER_SHORT_1 ?=Percona-Server-$(MYSQL_VERSION) |
13 | 7 | PERCONA_SERVER_SHORT_2 ?=Percona-Server | 7 | PERCONA_SERVER_SHORT_2 ?=Percona-Server |
14 | 8 | 8 | ||
15 | === modified file 'Percona-Server/BUILD/compile-alpha-debug' | |||
16 | --- Percona-Server/BUILD/compile-alpha-debug 2010-12-28 23:47:05 +0000 | |||
17 | +++ Percona-Server/BUILD/compile-alpha-debug 2013-06-23 08:01:44 +0000 | |||
18 | @@ -1,6 +1,7 @@ | |||
19 | 1 | #! /bin/sh | 1 | #! /bin/sh |
20 | 2 | 2 | ||
22 | 3 | # Copyright (C) 2000, 2005 MySQL AB | 3 | # Copyright (c) 2000, 2001, 2005-2007 MySQL AB |
23 | 4 | # Use is subject to license terms | ||
24 | 4 | # | 5 | # |
25 | 5 | # This program is free software; you can redistribute it and/or modify | 6 | # This program is free software; you can redistribute it and/or modify |
26 | 6 | # it under the terms of the GNU General Public License as published by | 7 | # it under the terms of the GNU General Public License as published by |
27 | 7 | 8 | ||
28 | === modified file 'Percona-Server/BUILD/compile-amd64-debug-max' | |||
29 | --- Percona-Server/BUILD/compile-amd64-debug-max 2010-12-28 23:47:05 +0000 | |||
30 | +++ Percona-Server/BUILD/compile-amd64-debug-max 2013-06-23 08:01:44 +0000 | |||
31 | @@ -1,6 +1,7 @@ | |||
32 | 1 | #! /bin/sh | 1 | #! /bin/sh |
33 | 2 | 2 | ||
35 | 3 | # Copyright (C) 2005 MySQL AB | 3 | # Copyright (c) 2005, 2006 MySQL AB |
36 | 4 | # Use is subject to license terms | ||
37 | 4 | # | 5 | # |
38 | 5 | # This program is free software; you can redistribute it and/or modify | 6 | # This program is free software; you can redistribute it and/or modify |
39 | 6 | # it under the terms of the GNU General Public License as published by | 7 | # it under the terms of the GNU General Public License as published by |
40 | 7 | 8 | ||
41 | === modified file 'Percona-Server/BUILD/compile-amd64-max' | |||
42 | --- Percona-Server/BUILD/compile-amd64-max 2010-12-28 23:47:05 +0000 | |||
43 | +++ Percona-Server/BUILD/compile-amd64-max 2013-06-23 08:01:44 +0000 | |||
44 | @@ -1,6 +1,7 @@ | |||
45 | 1 | #! /bin/sh | 1 | #! /bin/sh |
46 | 2 | 2 | ||
48 | 3 | # Copyright (C) 2005 MySQL AB | 3 | # Copyright (c) 2005, 2006 MySQL AB |
49 | 4 | # Use is subject to license terms | ||
50 | 4 | # | 5 | # |
51 | 5 | # This program is free software; you can redistribute it and/or modify | 6 | # This program is free software; you can redistribute it and/or modify |
52 | 6 | # it under the terms of the GNU General Public License as published by | 7 | # it under the terms of the GNU General Public License as published by |
53 | 7 | 8 | ||
54 | === modified file 'Percona-Server/BUILD/compile-darwin-mwcc' | |||
55 | --- Percona-Server/BUILD/compile-darwin-mwcc 2010-12-28 23:47:05 +0000 | |||
56 | +++ Percona-Server/BUILD/compile-darwin-mwcc 2013-06-23 08:01:44 +0000 | |||
57 | @@ -1,6 +1,7 @@ | |||
58 | 1 | #! /bin/sh | 1 | #! /bin/sh |
59 | 2 | 2 | ||
61 | 3 | # Copyright (C) 2005 MySQL AB | 3 | # Copyright (c) 2005, 2006 MySQL AB |
62 | 4 | # Use is subject to license terms | ||
63 | 4 | # | 5 | # |
64 | 5 | # This program is free software; you can redistribute it and/or modify | 6 | # This program is free software; you can redistribute it and/or modify |
65 | 6 | # it under the terms of the GNU General Public License as published by | 7 | # it under the terms of the GNU General Public License as published by |
66 | 7 | 8 | ||
67 | === modified file 'Percona-Server/BUILD/compile-hpux11-parisc2-aCC' | |||
68 | --- Percona-Server/BUILD/compile-hpux11-parisc2-aCC 2010-12-28 23:47:05 +0000 | |||
69 | +++ Percona-Server/BUILD/compile-hpux11-parisc2-aCC 2013-06-23 08:01:44 +0000 | |||
70 | @@ -1,6 +1,7 @@ | |||
71 | 1 | #!/bin/sh | 1 | #!/bin/sh |
72 | 2 | 2 | ||
74 | 3 | # Copyright (C) 2004, 2005 MySQL AB | 3 | # Copyright (c) 2004, 2005, 2007 MySQL AB |
75 | 4 | # Use is subject to license terms | ||
76 | 4 | # | 5 | # |
77 | 5 | # This program is free software; you can redistribute it and/or modify | 6 | # This program is free software; you can redistribute it and/or modify |
78 | 6 | # it under the terms of the GNU General Public License as published by | 7 | # it under the terms of the GNU General Public License as published by |
79 | 7 | 8 | ||
80 | === modified file 'Percona-Server/BUILD/compile-irix-mips64-mipspro' | |||
81 | --- Percona-Server/BUILD/compile-irix-mips64-mipspro 2010-12-28 23:47:05 +0000 | |||
82 | +++ Percona-Server/BUILD/compile-irix-mips64-mipspro 2013-06-23 08:01:44 +0000 | |||
83 | @@ -1,6 +1,7 @@ | |||
84 | 1 | #!/bin/sh | 1 | #!/bin/sh |
85 | 2 | 2 | ||
87 | 3 | # Copyright (C) 2004, 2005 MySQL AB | 3 | # Copyright (c) 2004, 2005, 2007 MySQL AB |
88 | 4 | # Use is subject to license terms | ||
89 | 4 | # | 5 | # |
90 | 5 | # This program is free software; you can redistribute it and/or modify | 6 | # This program is free software; you can redistribute it and/or modify |
91 | 6 | # it under the terms of the GNU General Public License as published by | 7 | # it under the terms of the GNU General Public License as published by |
92 | 7 | 8 | ||
93 | === modified file 'Percona-Server/BUILD/compile-ndb-autotest' | |||
94 | --- Percona-Server/BUILD/compile-ndb-autotest 2010-12-29 00:26:31 +0000 | |||
95 | +++ Percona-Server/BUILD/compile-ndb-autotest 2013-06-23 08:01:44 +0000 | |||
96 | @@ -1,6 +1,6 @@ | |||
97 | 1 | #! /bin/sh | 1 | #! /bin/sh |
98 | 2 | 2 | ||
100 | 3 | # Copyright (C) 2006 MySQL AB | 3 | # Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. |
101 | 4 | # | 4 | # |
102 | 5 | # This program is free software; you can redistribute it and/or modify | 5 | # This program is free software; you can redistribute it and/or modify |
103 | 6 | # it under the terms of the GNU General Public License as published by | 6 | # it under the terms of the GNU General Public License as published by |
104 | 7 | 7 | ||
105 | === modified file 'Percona-Server/BUILD/compile-pentium' | |||
106 | --- Percona-Server/BUILD/compile-pentium 2010-12-28 23:47:05 +0000 | |||
107 | +++ Percona-Server/BUILD/compile-pentium 2013-06-23 08:01:44 +0000 | |||
108 | @@ -1,6 +1,7 @@ | |||
109 | 1 | #! /bin/sh | 1 | #! /bin/sh |
110 | 2 | 2 | ||
112 | 3 | # Copyright (C) 2000, 2002 MySQL AB | 3 | # Copyright (c) 2000-2002, 2007 MySQL AB |
113 | 4 | # Use is subject to license terms | ||
114 | 4 | # | 5 | # |
115 | 5 | # This program is free software; you can redistribute it and/or modify | 6 | # This program is free software; you can redistribute it and/or modify |
116 | 6 | # it under the terms of the GNU General Public License as published by | 7 | # it under the terms of the GNU General Public License as published by |
117 | 7 | 8 | ||
118 | === modified file 'Percona-Server/BUILD/compile-pentium-debug-max-no-embedded' | |||
119 | --- Percona-Server/BUILD/compile-pentium-debug-max-no-embedded 2010-12-28 23:47:05 +0000 | |||
120 | +++ Percona-Server/BUILD/compile-pentium-debug-max-no-embedded 2013-06-23 08:01:44 +0000 | |||
121 | @@ -1,6 +1,7 @@ | |||
122 | 1 | #! /bin/sh | 1 | #! /bin/sh |
123 | 2 | 2 | ||
125 | 3 | # Copyright (C) 2004, 2005 MySQL AB | 3 | # Copyright (c) 2004-2006 MySQL AB |
126 | 4 | # Use is subject to license terms | ||
127 | 4 | # | 5 | # |
128 | 5 | # This program is free software; you can redistribute it and/or modify | 6 | # This program is free software; you can redistribute it and/or modify |
129 | 6 | # it under the terms of the GNU General Public License as published by | 7 | # it under the terms of the GNU General Public License as published by |
130 | 7 | 8 | ||
131 | === modified file 'Percona-Server/BUILD/compile-pentium-debug-max-no-ndb' | |||
132 | --- Percona-Server/BUILD/compile-pentium-debug-max-no-ndb 2010-12-29 00:26:31 +0000 | |||
133 | +++ Percona-Server/BUILD/compile-pentium-debug-max-no-ndb 2013-06-23 08:01:44 +0000 | |||
134 | @@ -1,6 +1,6 @@ | |||
135 | 1 | #! /bin/sh | 1 | #! /bin/sh |
136 | 2 | 2 | ||
138 | 3 | # Copyright (C) 2005, 2007 MySQL AB | 3 | # Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. |
139 | 4 | # | 4 | # |
140 | 5 | # This program is free software; you can redistribute it and/or modify | 5 | # This program is free software; you can redistribute it and/or modify |
141 | 6 | # it under the terms of the GNU General Public License as published by | 6 | # it under the terms of the GNU General Public License as published by |
142 | 7 | 7 | ||
143 | === modified file 'Percona-Server/BUILD/compile-pentium-max' | |||
144 | --- Percona-Server/BUILD/compile-pentium-max 2010-12-28 23:47:05 +0000 | |||
145 | +++ Percona-Server/BUILD/compile-pentium-max 2013-06-23 08:01:44 +0000 | |||
146 | @@ -1,6 +1,7 @@ | |||
147 | 1 | #! /bin/sh | 1 | #! /bin/sh |
148 | 2 | 2 | ||
150 | 3 | # Copyright (C) 2001, 2005 MySQL AB | 3 | # Copyright (c) 2001-2006 MySQL AB |
151 | 4 | # Use is subject to license terms | ||
152 | 4 | # | 5 | # |
153 | 5 | # This program is free software; you can redistribute it and/or modify | 6 | # This program is free software; you can redistribute it and/or modify |
154 | 6 | # it under the terms of the GNU General Public License as published by | 7 | # it under the terms of the GNU General Public License as published by |
155 | 7 | 8 | ||
156 | === modified file 'Percona-Server/BUILD/compile-pentium-pgcc' | |||
157 | --- Percona-Server/BUILD/compile-pentium-pgcc 2010-12-28 23:47:05 +0000 | |||
158 | +++ Percona-Server/BUILD/compile-pentium-pgcc 2013-06-23 08:01:44 +0000 | |||
159 | @@ -1,6 +1,7 @@ | |||
160 | 1 | #! /bin/sh | 1 | #! /bin/sh |
161 | 2 | 2 | ||
163 | 3 | # Copyright (C) 2000, 2005 MySQL AB | 3 | # Copyright (c) 2000, 2001, 2005, 2007 MySQL AB |
164 | 4 | # Use is subject to license terms | ||
165 | 4 | # | 5 | # |
166 | 5 | # This program is free software; you can redistribute it and/or modify | 6 | # This program is free software; you can redistribute it and/or modify |
167 | 6 | # it under the terms of the GNU General Public License as published by | 7 | # it under the terms of the GNU General Public License as published by |
168 | 7 | 8 | ||
169 | === modified file 'Percona-Server/BUILD/compile-ppc-debug' | |||
170 | --- Percona-Server/BUILD/compile-ppc-debug 2010-12-28 23:47:05 +0000 | |||
171 | +++ Percona-Server/BUILD/compile-ppc-debug 2013-06-23 08:01:44 +0000 | |||
172 | @@ -1,6 +1,7 @@ | |||
173 | 1 | #! /bin/sh | 1 | #! /bin/sh |
174 | 2 | 2 | ||
176 | 3 | # Copyright (C) 2004 MySQL AB | 3 | # Copyright (c) 2004, 2006 MySQL AB |
177 | 4 | # Use is subject to license terms | ||
178 | 4 | # | 5 | # |
179 | 5 | # This program is free software; you can redistribute it and/or modify | 6 | # This program is free software; you can redistribute it and/or modify |
180 | 6 | # it under the terms of the GNU General Public License as published by | 7 | # it under the terms of the GNU General Public License as published by |
181 | 7 | 8 | ||
182 | === modified file 'Percona-Server/BUILD/compile-ppc-debug-max' | |||
183 | --- Percona-Server/BUILD/compile-ppc-debug-max 2010-12-28 23:47:05 +0000 | |||
184 | +++ Percona-Server/BUILD/compile-ppc-debug-max 2013-06-23 08:01:44 +0000 | |||
185 | @@ -1,6 +1,7 @@ | |||
186 | 1 | #! /bin/sh | 1 | #! /bin/sh |
187 | 2 | 2 | ||
189 | 3 | # Copyright (C) 2004, 2005 MySQL AB | 3 | # Copyright (c) 2004-2006 MySQL AB |
190 | 4 | # Use is subject to license terms | ||
191 | 4 | # | 5 | # |
192 | 5 | # This program is free software; you can redistribute it and/or modify | 6 | # This program is free software; you can redistribute it and/or modify |
193 | 6 | # it under the terms of the GNU General Public License as published by | 7 | # it under the terms of the GNU General Public License as published by |
194 | 7 | 8 | ||
195 | === modified file 'Percona-Server/BUILD/compile-ppc-debug-max-no-ndb' | |||
196 | --- Percona-Server/BUILD/compile-ppc-debug-max-no-ndb 2010-12-28 23:47:05 +0000 | |||
197 | +++ Percona-Server/BUILD/compile-ppc-debug-max-no-ndb 2013-06-23 08:01:44 +0000 | |||
198 | @@ -1,6 +1,7 @@ | |||
199 | 1 | #! /bin/sh | 1 | #! /bin/sh |
200 | 2 | 2 | ||
202 | 3 | # Copyright (C) 2005 MySQL AB | 3 | # Copyright (c) 2005, 2006 MySQL AB |
203 | 4 | # Use is subject to license terms | ||
204 | 4 | # | 5 | # |
205 | 5 | # This program is free software; you can redistribute it and/or modify | 6 | # This program is free software; you can redistribute it and/or modify |
206 | 6 | # it under the terms of the GNU General Public License as published by | 7 | # it under the terms of the GNU General Public License as published by |
207 | 7 | 8 | ||
208 | === modified file 'Percona-Server/BUILD/compile-ppc-max' | |||
209 | --- Percona-Server/BUILD/compile-ppc-max 2010-12-28 23:47:05 +0000 | |||
210 | +++ Percona-Server/BUILD/compile-ppc-max 2013-06-23 08:01:44 +0000 | |||
211 | @@ -1,6 +1,7 @@ | |||
212 | 1 | #! /bin/sh | 1 | #! /bin/sh |
213 | 2 | 2 | ||
215 | 3 | # Copyright (C) 2004, 2005 MySQL AB | 3 | # Copyright (c) 2004-2006 MySQL AB |
216 | 4 | # Use is subject to license terms | ||
217 | 4 | # | 5 | # |
218 | 5 | # This program is free software; you can redistribute it and/or modify | 6 | # This program is free software; you can redistribute it and/or modify |
219 | 6 | # it under the terms of the GNU General Public License as published by | 7 | # it under the terms of the GNU General Public License as published by |
220 | 7 | 8 | ||
221 | === modified file 'Percona-Server/BUILD/compile-solaris-sparc-debug' | |||
222 | --- Percona-Server/BUILD/compile-solaris-sparc-debug 2010-12-28 23:47:05 +0000 | |||
223 | +++ Percona-Server/BUILD/compile-solaris-sparc-debug 2013-06-23 08:01:44 +0000 | |||
224 | @@ -1,6 +1,7 @@ | |||
225 | 1 | #!/bin/sh | 1 | #!/bin/sh |
226 | 2 | 2 | ||
228 | 3 | # Copyright (C) 2001, 2005 MySQL AB | 3 | # Copyright (c) 2001, 2002, 2005-2007 MySQL AB |
229 | 4 | # Use is subject to license terms | ||
230 | 4 | # | 5 | # |
231 | 5 | # This program is free software; you can redistribute it and/or modify | 6 | # This program is free software; you can redistribute it and/or modify |
232 | 6 | # it under the terms of the GNU General Public License as published by | 7 | # it under the terms of the GNU General Public License as published by |
233 | 7 | 8 | ||
234 | === modified file 'Percona-Server/BUILD/compile-solaris-sparc-purify' | |||
235 | --- Percona-Server/BUILD/compile-solaris-sparc-purify 2010-12-28 23:47:05 +0000 | |||
236 | +++ Percona-Server/BUILD/compile-solaris-sparc-purify 2013-06-23 08:01:44 +0000 | |||
237 | @@ -1,6 +1,7 @@ | |||
238 | 1 | #! /bin/sh | 1 | #! /bin/sh |
239 | 2 | 2 | ||
241 | 3 | # Copyright (C) 2000, 2005 MySQL AB | 3 | # Copyright (c) 2000-2002, 2005-2007 MySQL AB |
242 | 4 | # Use is subject to license terms | ||
243 | 4 | # | 5 | # |
244 | 5 | # This program is free software; you can redistribute it and/or modify | 6 | # This program is free software; you can redistribute it and/or modify |
245 | 6 | # it under the terms of the GNU General Public License as published by | 7 | # it under the terms of the GNU General Public License as published by |
246 | 7 | 8 | ||
247 | === modified file 'Percona-Server/VERSION' | |||
248 | --- Percona-Server/VERSION 2013-03-21 16:54:18 +0000 | |||
249 | +++ Percona-Server/VERSION 2013-06-23 08:01:44 +0000 | |||
250 | @@ -1,4 +1,4 @@ | |||
251 | 1 | MYSQL_VERSION_MAJOR=5 | 1 | MYSQL_VERSION_MAJOR=5 |
252 | 2 | MYSQL_VERSION_MINOR=5 | 2 | MYSQL_VERSION_MINOR=5 |
254 | 3 | MYSQL_VERSION_PATCH=30 | 3 | MYSQL_VERSION_PATCH=31 |
255 | 4 | MYSQL_VERSION_EXTRA= | 4 | MYSQL_VERSION_EXTRA= |
256 | 5 | 5 | ||
257 | === modified file 'Percona-Server/client/client_priv.h' | |||
258 | --- Percona-Server/client/client_priv.h 2012-08-07 06:10:00 +0000 | |||
259 | +++ Percona-Server/client/client_priv.h 2013-06-23 08:01:44 +0000 | |||
260 | @@ -1,5 +1,5 @@ | |||
261 | 1 | /* | 1 | /* |
263 | 2 | Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. |
264 | 3 | 3 | ||
265 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
266 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
267 | 6 | 6 | ||
268 | === modified file 'Percona-Server/client/completion_hash.h' | |||
269 | --- Percona-Server/client/completion_hash.h 2010-12-28 18:57:23 +0000 | |||
270 | +++ Percona-Server/client/completion_hash.h 2013-06-23 08:01:44 +0000 | |||
271 | @@ -1,4 +1,5 @@ | |||
273 | 1 | /* Copyright (C) 2000-2002 MySQL AB | 1 | /* Copyright (c) 2000-2002, 2006 MySQL AB |
274 | 2 | Use is subject to license terms | ||
275 | 2 | 3 | ||
276 | 3 | This program is free software; you can redistribute it and/or | 4 | This program is free software; you can redistribute it and/or |
277 | 4 | modify it under the terms of the GNU Library General Public | 5 | modify it under the terms of the GNU Library General Public |
278 | 5 | 6 | ||
279 | === modified file 'Percona-Server/client/echo.c' | |||
280 | --- Percona-Server/client/echo.c 2007-03-20 17:31:49 +0000 | |||
281 | +++ Percona-Server/client/echo.c 2013-06-23 08:01:44 +0000 | |||
282 | @@ -1,4 +1,5 @@ | |||
284 | 1 | /* Copyright (C) 2000 MySQL AB | 1 | /* Copyright (c) 2000, 2007 MySQL AB |
285 | 2 | Use is subject to license terms | ||
286 | 2 | 3 | ||
287 | 3 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
288 | 4 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
289 | 5 | 6 | ||
290 | === modified file 'Percona-Server/client/get_password.c' | |||
291 | --- Percona-Server/client/get_password.c 2008-02-19 17:45:11 +0000 | |||
292 | +++ Percona-Server/client/get_password.c 2013-06-23 08:01:44 +0000 | |||
293 | @@ -1,4 +1,5 @@ | |||
295 | 1 | /* Copyright (C) 2000 MySQL AB | 1 | /* Copyright (c) 2000, 2001, 2003, 2006, 2008 MySQL AB |
296 | 2 | Use is subject to license terms | ||
297 | 2 | 3 | ||
298 | 3 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
299 | 4 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
300 | 5 | 6 | ||
301 | === modified file 'Percona-Server/client/mysqlcheck.c' | |||
302 | --- Percona-Server/client/mysqlcheck.c 2012-08-07 13:37:13 +0000 | |||
303 | +++ Percona-Server/client/mysqlcheck.c 2013-06-23 08:01:44 +0000 | |||
304 | @@ -15,7 +15,7 @@ | |||
305 | 15 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | 15 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
306 | 16 | */ | 16 | */ |
307 | 17 | 17 | ||
309 | 18 | #define CHECK_VERSION "2.5.0" | 18 | #define CHECK_VERSION "2.5.1" |
310 | 19 | 19 | ||
311 | 20 | #include "client_priv.h" | 20 | #include "client_priv.h" |
312 | 21 | #include <m_ctype.h> | 21 | #include <m_ctype.h> |
313 | @@ -29,6 +29,10 @@ | |||
314 | 29 | #define EX_USAGE 1 | 29 | #define EX_USAGE 1 |
315 | 30 | #define EX_MYSQLERR 2 | 30 | #define EX_MYSQLERR 2 |
316 | 31 | 31 | ||
317 | 32 | /* ALTER instead of repair. */ | ||
318 | 33 | #define MAX_ALTER_STR_SIZE 128 * 1024 | ||
319 | 34 | #define KEY_PARTITIONING_CHANGED_STR "KEY () partitioning changed" | ||
320 | 35 | |||
321 | 32 | static MYSQL mysql_connection, *sock = 0; | 36 | static MYSQL mysql_connection, *sock = 0; |
322 | 33 | static my_bool opt_alldbs = 0, opt_check_only_changed = 0, opt_extended = 0, | 37 | static my_bool opt_alldbs = 0, opt_check_only_changed = 0, opt_extended = 0, |
323 | 34 | opt_compress = 0, opt_databases = 0, opt_fast = 0, | 38 | opt_compress = 0, opt_databases = 0, opt_fast = 0, |
324 | @@ -44,7 +48,7 @@ | |||
325 | 44 | *default_charset= 0, *current_host= 0; | 48 | *default_charset= 0, *current_host= 0; |
326 | 45 | static char *opt_plugin_dir= 0, *opt_default_auth= 0; | 49 | static char *opt_plugin_dir= 0, *opt_default_auth= 0; |
327 | 46 | static int first_error = 0; | 50 | static int first_error = 0; |
329 | 47 | DYNAMIC_ARRAY tables4repair, tables4rebuild; | 51 | DYNAMIC_ARRAY tables4repair, tables4rebuild, alter_table_cmds; |
330 | 48 | #ifdef HAVE_SMEM | 52 | #ifdef HAVE_SMEM |
331 | 49 | static char *shared_memory_base_name=0; | 53 | static char *shared_memory_base_name=0; |
332 | 50 | #endif | 54 | #endif |
333 | @@ -591,6 +595,17 @@ | |||
334 | 591 | } /* process_all_tables_in_db */ | 595 | } /* process_all_tables_in_db */ |
335 | 592 | 596 | ||
336 | 593 | 597 | ||
337 | 598 | static int run_query(const char *query) | ||
338 | 599 | { | ||
339 | 600 | if (mysql_query(sock, query)) | ||
340 | 601 | { | ||
341 | 602 | fprintf(stderr, "Failed to %s\n", query); | ||
342 | 603 | fprintf(stderr, "Error: %s\n", mysql_error(sock)); | ||
343 | 604 | return 1; | ||
344 | 605 | } | ||
345 | 606 | return 0; | ||
346 | 607 | } | ||
347 | 608 | |||
348 | 594 | 609 | ||
349 | 595 | static int fix_table_storage_name(const char *name) | 610 | static int fix_table_storage_name(const char *name) |
350 | 596 | { | 611 | { |
351 | @@ -599,12 +614,7 @@ | |||
352 | 599 | if (strncmp(name, "#mysql50#", 9)) | 614 | if (strncmp(name, "#mysql50#", 9)) |
353 | 600 | return 1; | 615 | return 1; |
354 | 601 | sprintf(qbuf, "RENAME TABLE `%s` TO `%s`", name, name + 9); | 616 | sprintf(qbuf, "RENAME TABLE `%s` TO `%s`", name, name + 9); |
361 | 602 | if (mysql_query(sock, qbuf)) | 617 | rc= run_query(qbuf); |
356 | 603 | { | ||
357 | 604 | fprintf(stderr, "Failed to %s\n", qbuf); | ||
358 | 605 | fprintf(stderr, "Error: %s\n", mysql_error(sock)); | ||
359 | 606 | rc= 1; | ||
360 | 607 | } | ||
362 | 608 | if (verbose) | 618 | if (verbose) |
363 | 609 | printf("%-50s %s\n", name, rc ? "FAILED" : "OK"); | 619 | printf("%-50s %s\n", name, rc ? "FAILED" : "OK"); |
364 | 610 | return rc; | 620 | return rc; |
365 | @@ -617,12 +627,7 @@ | |||
366 | 617 | if (strncmp(name, "#mysql50#", 9)) | 627 | if (strncmp(name, "#mysql50#", 9)) |
367 | 618 | return 1; | 628 | return 1; |
368 | 619 | sprintf(qbuf, "ALTER DATABASE `%s` UPGRADE DATA DIRECTORY NAME", name); | 629 | sprintf(qbuf, "ALTER DATABASE `%s` UPGRADE DATA DIRECTORY NAME", name); |
375 | 620 | if (mysql_query(sock, qbuf)) | 630 | rc= run_query(qbuf); |
370 | 621 | { | ||
371 | 622 | fprintf(stderr, "Failed to %s\n", qbuf); | ||
372 | 623 | fprintf(stderr, "Error: %s\n", mysql_error(sock)); | ||
373 | 624 | rc= 1; | ||
374 | 625 | } | ||
376 | 626 | if (verbose) | 631 | if (verbose) |
377 | 627 | printf("%-50s %s\n", name, rc ? "FAILED" : "OK"); | 632 | printf("%-50s %s\n", name, rc ? "FAILED" : "OK"); |
378 | 628 | return rc; | 633 | return rc; |
379 | @@ -685,13 +690,7 @@ | |||
380 | 685 | static int disable_binlog() | 690 | static int disable_binlog() |
381 | 686 | { | 691 | { |
382 | 687 | const char *stmt= "SET SQL_LOG_BIN=0"; | 692 | const char *stmt= "SET SQL_LOG_BIN=0"; |
390 | 688 | if (mysql_query(sock, stmt)) | 693 | return run_query(stmt); |
384 | 689 | { | ||
385 | 690 | fprintf(stderr, "Failed to %s\n", stmt); | ||
386 | 691 | fprintf(stderr, "Error: %s\n", mysql_error(sock)); | ||
387 | 692 | return 1; | ||
388 | 693 | } | ||
389 | 694 | return 0; | ||
391 | 695 | } | 694 | } |
392 | 696 | 695 | ||
393 | 697 | static int handle_request_for_tables(char *tables, uint length) | 696 | static int handle_request_for_tables(char *tables, uint length) |
394 | @@ -761,12 +760,14 @@ | |||
395 | 761 | MYSQL_RES *res; | 760 | MYSQL_RES *res; |
396 | 762 | MYSQL_ROW row; | 761 | MYSQL_ROW row; |
397 | 763 | char prev[NAME_LEN*2+2]; | 762 | char prev[NAME_LEN*2+2]; |
398 | 763 | char prev_alter[MAX_ALTER_STR_SIZE]; | ||
399 | 764 | uint i; | 764 | uint i; |
400 | 765 | my_bool found_error=0, table_rebuild=0; | 765 | my_bool found_error=0, table_rebuild=0; |
401 | 766 | 766 | ||
402 | 767 | res = mysql_use_result(sock); | 767 | res = mysql_use_result(sock); |
403 | 768 | 768 | ||
404 | 769 | prev[0] = '\0'; | 769 | prev[0] = '\0'; |
405 | 770 | prev_alter[0]= 0; | ||
406 | 770 | for (i = 0; (row = mysql_fetch_row(res)); i++) | 771 | for (i = 0; (row = mysql_fetch_row(res)); i++) |
407 | 771 | { | 772 | { |
408 | 772 | int changed = strcmp(prev, row[0]); | 773 | int changed = strcmp(prev, row[0]); |
409 | @@ -783,12 +784,18 @@ | |||
410 | 783 | strcmp(row[3],"OK")) | 784 | strcmp(row[3],"OK")) |
411 | 784 | { | 785 | { |
412 | 785 | if (table_rebuild) | 786 | if (table_rebuild) |
414 | 786 | insert_dynamic(&tables4rebuild, (uchar*) prev); | 787 | { |
415 | 788 | if (prev_alter[0]) | ||
416 | 789 | insert_dynamic(&alter_table_cmds, (uchar*) prev_alter); | ||
417 | 790 | else | ||
418 | 791 | insert_dynamic(&tables4rebuild, (uchar*) prev); | ||
419 | 792 | } | ||
420 | 787 | else | 793 | else |
421 | 788 | insert_dynamic(&tables4repair, (uchar*) prev); | 794 | insert_dynamic(&tables4repair, (uchar*) prev); |
422 | 789 | } | 795 | } |
423 | 790 | found_error=0; | 796 | found_error=0; |
424 | 791 | table_rebuild=0; | 797 | table_rebuild=0; |
425 | 798 | prev_alter[0]= 0; | ||
426 | 792 | if (opt_silent) | 799 | if (opt_silent) |
427 | 793 | continue; | 800 | continue; |
428 | 794 | } | 801 | } |
429 | @@ -797,11 +804,30 @@ | |||
430 | 797 | else if (!status && changed) | 804 | else if (!status && changed) |
431 | 798 | { | 805 | { |
432 | 799 | printf("%s\n%-9s: %s", row[0], row[2], row[3]); | 806 | printf("%s\n%-9s: %s", row[0], row[2], row[3]); |
434 | 800 | if (strcmp(row[2],"note")) | 807 | if (opt_auto_repair && strcmp(row[2],"note")) |
435 | 801 | { | 808 | { |
438 | 802 | found_error=1; | 809 | const char *alter_txt= strstr(row[3], "ALTER TABLE"); |
439 | 803 | if (opt_auto_repair && strstr(row[3], "ALTER TABLE") != NULL) | 810 | found_error=1; |
440 | 811 | if (alter_txt) | ||
441 | 812 | { | ||
442 | 804 | table_rebuild=1; | 813 | table_rebuild=1; |
443 | 814 | if (!strncmp(row[3], KEY_PARTITIONING_CHANGED_STR, | ||
444 | 815 | strlen(KEY_PARTITIONING_CHANGED_STR)) && | ||
445 | 816 | strstr(alter_txt, "PARTITION BY")) | ||
446 | 817 | { | ||
447 | 818 | if (strlen(alter_txt) >= MAX_ALTER_STR_SIZE) | ||
448 | 819 | { | ||
449 | 820 | printf("Error: Alter command too long (>= %d)," | ||
450 | 821 | " please do \"%s\" or dump/reload to fix it!\n", | ||
451 | 822 | MAX_ALTER_STR_SIZE, | ||
452 | 823 | alter_txt); | ||
453 | 824 | table_rebuild= 0; | ||
454 | 825 | prev_alter[0]= 0; | ||
455 | 826 | } | ||
456 | 827 | else | ||
457 | 828 | strcpy(prev_alter, alter_txt); | ||
458 | 829 | } | ||
459 | 830 | } | ||
460 | 805 | } | 831 | } |
461 | 806 | } | 832 | } |
462 | 807 | else | 833 | else |
463 | @@ -813,7 +839,12 @@ | |||
464 | 813 | if (found_error && opt_auto_repair && what_to_do != DO_REPAIR) | 839 | if (found_error && opt_auto_repair && what_to_do != DO_REPAIR) |
465 | 814 | { | 840 | { |
466 | 815 | if (table_rebuild) | 841 | if (table_rebuild) |
468 | 816 | insert_dynamic(&tables4rebuild, (uchar*) prev); | 842 | { |
469 | 843 | if (prev_alter[0]) | ||
470 | 844 | insert_dynamic(&alter_table_cmds, (uchar*) prev_alter); | ||
471 | 845 | else | ||
472 | 846 | insert_dynamic(&tables4rebuild, (uchar*) prev); | ||
473 | 847 | } | ||
474 | 817 | else | 848 | else |
475 | 818 | insert_dynamic(&tables4repair, (uchar*) prev); | 849 | insert_dynamic(&tables4repair, (uchar*) prev); |
476 | 819 | } | 850 | } |
477 | @@ -915,7 +946,8 @@ | |||
478 | 915 | 946 | ||
479 | 916 | if (opt_auto_repair && | 947 | if (opt_auto_repair && |
480 | 917 | (my_init_dynamic_array(&tables4repair, sizeof(char)*(NAME_LEN*2+2),16,64) || | 948 | (my_init_dynamic_array(&tables4repair, sizeof(char)*(NAME_LEN*2+2),16,64) || |
482 | 918 | my_init_dynamic_array(&tables4rebuild, sizeof(char)*(NAME_LEN*2+2),16,64))) | 949 | my_init_dynamic_array(&tables4rebuild, sizeof(char)*(NAME_LEN*2+2),16,64) || |
483 | 950 | my_init_dynamic_array(&alter_table_cmds, MAX_ALTER_STR_SIZE, 0, 1))) | ||
484 | 919 | { | 951 | { |
485 | 920 | first_error = 1; | 952 | first_error = 1; |
486 | 921 | goto end; | 953 | goto end; |
487 | @@ -943,6 +975,8 @@ | |||
488 | 943 | } | 975 | } |
489 | 944 | for (i = 0; i < tables4rebuild.elements ; i++) | 976 | for (i = 0; i < tables4rebuild.elements ; i++) |
490 | 945 | rebuild_table((char*) dynamic_array_ptr(&tables4rebuild, i)); | 977 | rebuild_table((char*) dynamic_array_ptr(&tables4rebuild, i)); |
491 | 978 | for (i = 0; i < alter_table_cmds.elements ; i++) | ||
492 | 979 | run_query((char*) dynamic_array_ptr(&alter_table_cmds, i)); | ||
493 | 946 | } | 980 | } |
494 | 947 | end: | 981 | end: |
495 | 948 | dbDisconnect(current_host); | 982 | dbDisconnect(current_host); |
496 | 949 | 983 | ||
497 | === modified file 'Percona-Server/client/mysqldump.c' | |||
498 | --- Percona-Server/client/mysqldump.c 2013-04-18 16:15:44 +0000 | |||
499 | +++ Percona-Server/client/mysqldump.c 2013-06-23 08:01:44 +0000 | |||
500 | @@ -1,5 +1,5 @@ | |||
501 | 1 | /* | 1 | /* |
503 | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. |
504 | 3 | 3 | ||
505 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
506 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
507 | 6 | 6 | ||
508 | === modified file 'Percona-Server/client/mysqltest.cc' | |||
509 | --- Percona-Server/client/mysqltest.cc 2013-03-21 16:54:18 +0000 | |||
510 | +++ Percona-Server/client/mysqltest.cc 2013-06-23 08:01:44 +0000 | |||
511 | @@ -4075,7 +4075,10 @@ | |||
512 | 4075 | cur_con->name, ds_user.str, ds_passwd.str, ds_db.str)); | 4075 | cur_con->name, ds_user.str, ds_passwd.str, ds_db.str)); |
513 | 4076 | 4076 | ||
514 | 4077 | if (mysql_change_user(mysql, ds_user.str, ds_passwd.str, ds_db.str)) | 4077 | if (mysql_change_user(mysql, ds_user.str, ds_passwd.str, ds_db.str)) |
516 | 4078 | die("change user failed: %s", mysql_error(mysql)); | 4078 | handle_error(command, mysql_errno(mysql), mysql_error(mysql), |
517 | 4079 | mysql_sqlstate(mysql), &ds_res); | ||
518 | 4080 | else | ||
519 | 4081 | handle_no_error(command); | ||
520 | 4079 | 4082 | ||
521 | 4080 | dynstr_free(&ds_user); | 4083 | dynstr_free(&ds_user); |
522 | 4081 | dynstr_free(&ds_passwd); | 4084 | dynstr_free(&ds_passwd); |
523 | 4082 | 4085 | ||
524 | === modified file 'Percona-Server/client/sql_string.cc' | |||
525 | --- Percona-Server/client/sql_string.cc 2012-10-10 20:32:32 +0000 | |||
526 | +++ Percona-Server/client/sql_string.cc 2013-06-23 08:01:44 +0000 | |||
527 | @@ -1,5 +1,5 @@ | |||
528 | 1 | /* | 1 | /* |
530 | 2 | Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. |
531 | 3 | 3 | ||
532 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
533 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
534 | @@ -735,7 +735,7 @@ | |||
535 | 735 | { | 735 | { |
536 | 736 | if (from->Alloced_length >= from_length) | 736 | if (from->Alloced_length >= from_length) |
537 | 737 | return from; | 737 | return from; |
539 | 738 | if (from->alloced || !to || from == to) | 738 | if ((from->alloced && (from->Alloced_length != 0)) || !to || from == to) |
540 | 739 | { | 739 | { |
541 | 740 | (void) from->realloc(from_length); | 740 | (void) from->realloc(from_length); |
542 | 741 | return from; | 741 | return from; |
543 | 742 | 742 | ||
544 | === modified file 'Percona-Server/cmake/configure.pl' | |||
545 | --- Percona-Server/cmake/configure.pl 2013-01-16 01:34:54 +0000 | |||
546 | +++ Percona-Server/cmake/configure.pl 2013-06-23 08:01:44 +0000 | |||
547 | @@ -1,6 +1,6 @@ | |||
548 | 1 | #!/usr/bin/perl | 1 | #!/usr/bin/perl |
549 | 2 | 2 | ||
551 | 3 | # Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved. | 3 | # Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. |
552 | 4 | # | 4 | # |
553 | 5 | # This program is free software; you can redistribute it and/or modify | 5 | # This program is free software; you can redistribute it and/or modify |
554 | 6 | # it under the terms of the GNU General Public License as published by | 6 | # it under the terms of the GNU General Public License as published by |
555 | 7 | 7 | ||
556 | === modified file 'Percona-Server/cmake/create_initial_db.cmake.in' | |||
557 | --- Percona-Server/cmake/create_initial_db.cmake.in 2012-10-03 14:05:07 +0000 | |||
558 | +++ Percona-Server/cmake/create_initial_db.cmake.in 2013-06-23 08:01:44 +0000 | |||
559 | @@ -1,4 +1,4 @@ | |||
561 | 1 | # Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. | 1 | # Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. |
562 | 2 | # | 2 | # |
563 | 3 | # This program is free software; you can redistribute it and/or modify | 3 | # This program is free software; you can redistribute it and/or modify |
564 | 4 | # it under the terms of the GNU General Public License as published by | 4 | # it under the terms of the GNU General Public License as published by |
565 | 5 | 5 | ||
566 | === modified file 'Percona-Server/cmake/make_dist.cmake.in' | |||
567 | --- Percona-Server/cmake/make_dist.cmake.in 2012-03-22 15:16:11 +0000 | |||
568 | +++ Percona-Server/cmake/make_dist.cmake.in 2013-06-23 08:01:44 +0000 | |||
569 | @@ -1,4 +1,4 @@ | |||
571 | 1 | # Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved. | 1 | # Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. |
572 | 2 | # | 2 | # |
573 | 3 | # This program is free software; you can redistribute it and/or modify | 3 | # This program is free software; you can redistribute it and/or modify |
574 | 4 | # it under the terms of the GNU General Public License as published by | 4 | # it under the terms of the GNU General Public License as published by |
575 | 5 | 5 | ||
576 | === modified file 'Percona-Server/cmake/mysql_version.cmake' | |||
577 | --- Percona-Server/cmake/mysql_version.cmake 2012-10-23 11:41:34 +0000 | |||
578 | +++ Percona-Server/cmake/mysql_version.cmake 2013-06-23 08:01:44 +0000 | |||
579 | @@ -1,4 +1,4 @@ | |||
581 | 1 | # Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved. | 1 | # Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. |
582 | 2 | # | 2 | # |
583 | 3 | # This program is free software; you can redistribute it and/or modify | 3 | # This program is free software; you can redistribute it and/or modify |
584 | 4 | # it under the terms of the GNU General Public License as published by | 4 | # it under the terms of the GNU General Public License as published by |
585 | 5 | 5 | ||
586 | === modified file 'Percona-Server/cmake/package_name.cmake' | |||
587 | --- Percona-Server/cmake/package_name.cmake 2012-10-23 11:41:34 +0000 | |||
588 | +++ Percona-Server/cmake/package_name.cmake 2013-06-23 08:01:44 +0000 | |||
589 | @@ -1,4 +1,4 @@ | |||
591 | 1 | # Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. | 1 | # Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. |
592 | 2 | # | 2 | # |
593 | 3 | # This program is free software; you can redistribute it and/or modify | 3 | # This program is free software; you can redistribute it and/or modify |
594 | 4 | # it under the terms of the GNU General Public License as published by | 4 | # it under the terms of the GNU General Public License as published by |
595 | 5 | 5 | ||
596 | === modified file 'Percona-Server/cmake/plugin.cmake' | |||
597 | --- Percona-Server/cmake/plugin.cmake 2012-10-24 15:06:43 +0000 | |||
598 | +++ Percona-Server/cmake/plugin.cmake 2013-06-23 08:01:44 +0000 | |||
599 | @@ -1,4 +1,4 @@ | |||
601 | 1 | # Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved. | 1 | # Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. |
602 | 2 | # | 2 | # |
603 | 3 | # This program is free software; you can redistribute it and/or modify | 3 | # This program is free software; you can redistribute it and/or modify |
604 | 4 | # it under the terms of the GNU General Public License as published by | 4 | # it under the terms of the GNU General Public License as published by |
605 | 5 | 5 | ||
606 | === modified file 'Percona-Server/cmake/ssl.cmake' | |||
607 | --- Percona-Server/cmake/ssl.cmake 2012-07-24 13:15:58 +0000 | |||
608 | +++ Percona-Server/cmake/ssl.cmake 2013-06-23 08:01:44 +0000 | |||
609 | @@ -1,4 +1,4 @@ | |||
611 | 1 | # Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. | 1 | # Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. |
612 | 2 | # | 2 | # |
613 | 3 | # This program is free software; you can redistribute it and/or modify | 3 | # This program is free software; you can redistribute it and/or modify |
614 | 4 | # it under the terms of the GNU General Public License as published by | 4 | # it under the terms of the GNU General Public License as published by |
615 | 5 | 5 | ||
616 | === modified file 'Percona-Server/cmake/wsrep.cmake' | |||
617 | --- Percona-Server/cmake/wsrep.cmake 2013-04-15 18:56:19 +0000 | |||
618 | +++ Percona-Server/cmake/wsrep.cmake 2013-06-23 08:01:44 +0000 | |||
619 | @@ -17,7 +17,7 @@ | |||
620 | 17 | # so WSREP_VERSION is produced regardless | 17 | # so WSREP_VERSION is produced regardless |
621 | 18 | 18 | ||
622 | 19 | # Set the patch version | 19 | # Set the patch version |
624 | 20 | SET(WSREP_PATCH_VERSION "7.4") | 20 | SET(WSREP_PATCH_VERSION "7.5") |
625 | 21 | 21 | ||
626 | 22 | # Obtain patch revision number | 22 | # Obtain patch revision number |
627 | 23 | SET(WSREP_PATCH_REVNO $ENV{WSREP_REV}) | 23 | SET(WSREP_PATCH_REVNO $ENV{WSREP_REV}) |
628 | 24 | 24 | ||
629 | === modified file 'Percona-Server/cmake/zlib.cmake' | |||
630 | --- Percona-Server/cmake/zlib.cmake 2011-06-30 15:46:53 +0000 | |||
631 | +++ Percona-Server/cmake/zlib.cmake 2013-06-23 08:01:44 +0000 | |||
632 | @@ -57,13 +57,17 @@ | |||
633 | 57 | INCLUDE(CheckFunctionExists) | 57 | INCLUDE(CheckFunctionExists) |
634 | 58 | SET(CMAKE_REQUIRED_LIBRARIES z) | 58 | SET(CMAKE_REQUIRED_LIBRARIES z) |
635 | 59 | CHECK_FUNCTION_EXISTS(crc32 HAVE_CRC32) | 59 | CHECK_FUNCTION_EXISTS(crc32 HAVE_CRC32) |
636 | 60 | CHECK_FUNCTION_EXISTS(compressBound HAVE_COMPRESSBOUND) | ||
637 | 61 | CHECK_FUNCTION_EXISTS(deflateBound HAVE_DEFLATEBOUND) | ||
638 | 60 | SET(CMAKE_REQUIRED_LIBRARIES) | 62 | SET(CMAKE_REQUIRED_LIBRARIES) |
640 | 61 | IF(HAVE_CRC32) | 63 | IF(HAVE_CRC32 AND HAVE_COMPRESSBOUND AND HAVE_DEFLATEBOUND) |
641 | 62 | SET(ZLIB_LIBRARY z CACHE INTERNAL "System zlib library") | 64 | SET(ZLIB_LIBRARY z CACHE INTERNAL "System zlib library") |
643 | 63 | SET(WITH_ZLIB "system" CACHE STRING "Which zlib to use (possible values are 'bundled' or 'system')") | 65 | SET(WITH_ZLIB "system" CACHE STRING |
644 | 66 | "Which zlib to use (possible values are 'bundled' or 'system')") | ||
645 | 64 | SET(ZLIB_SOURCES "") | 67 | SET(ZLIB_SOURCES "") |
646 | 65 | ELSE() | 68 | ELSE() |
647 | 66 | SET(ZLIB_FOUND FALSE CACHE INTERNAL "Zlib found but not usable") | 69 | SET(ZLIB_FOUND FALSE CACHE INTERNAL "Zlib found but not usable") |
648 | 70 | MESSAGE(STATUS "system zlib found but not usable") | ||
649 | 67 | ENDIF() | 71 | ENDIF() |
650 | 68 | ENDIF() | 72 | ENDIF() |
651 | 69 | IF(NOT ZLIB_FOUND) | 73 | IF(NOT ZLIB_FOUND) |
652 | 70 | 74 | ||
653 | === modified file 'Percona-Server/configure.cmake' | |||
654 | --- Percona-Server/configure.cmake 2013-02-06 07:02:45 +0000 | |||
655 | +++ Percona-Server/configure.cmake 2013-06-23 08:01:44 +0000 | |||
656 | @@ -1,5 +1,5 @@ | |||
657 | 1 | 1 | ||
659 | 2 | # Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved. | 2 | # Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. |
660 | 3 | # | 3 | # |
661 | 4 | # This program is free software; you can redistribute it and/or modify | 4 | # This program is free software; you can redistribute it and/or modify |
662 | 5 | # it under the terms of the GNU General Public License as published by | 5 | # it under the terms of the GNU General Public License as published by |
663 | 6 | 6 | ||
664 | === modified file 'Percona-Server/extra/charset2html.c' | |||
665 | --- Percona-Server/extra/charset2html.c 2008-03-29 14:15:06 +0000 | |||
666 | +++ Percona-Server/extra/charset2html.c 2013-06-23 08:01:44 +0000 | |||
667 | @@ -1,4 +1,5 @@ | |||
669 | 1 | /* Copyright (C) 2000 MySQL AB | 1 | /* Copyright (c) 2000, 2002-2004, 2007, 2008 MySQL AB |
670 | 2 | Use is subject to license terms | ||
671 | 2 | 3 | ||
672 | 3 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
673 | 4 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
674 | 5 | 6 | ||
675 | === modified file 'Percona-Server/extra/yassl/CMakeLists.txt' | |||
676 | --- Percona-Server/extra/yassl/CMakeLists.txt 2012-02-13 12:44:54 +0000 | |||
677 | +++ Percona-Server/extra/yassl/CMakeLists.txt 2013-06-23 08:01:44 +0000 | |||
678 | @@ -1,4 +1,4 @@ | |||
680 | 1 | # Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. | 1 | # Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. |
681 | 2 | # | 2 | # |
682 | 3 | # This program is free software; you can redistribute it and/or modify | 3 | # This program is free software; you can redistribute it and/or modify |
683 | 4 | # it under the terms of the GNU General Public License as published by | 4 | # it under the terms of the GNU General Public License as published by |
684 | 5 | 5 | ||
685 | === modified file 'Percona-Server/extra/yassl/examples/client/client.cpp' | |||
686 | --- Percona-Server/extra/yassl/examples/client/client.cpp 2012-02-10 14:33:27 +0000 | |||
687 | +++ Percona-Server/extra/yassl/examples/client/client.cpp 2013-06-23 08:01:44 +0000 | |||
688 | @@ -1,5 +1,5 @@ | |||
689 | 1 | /* | 1 | /* |
691 | 2 | Copyright (C) 2006 MySQL AB | 2 | Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. |
692 | 3 | 3 | ||
693 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
694 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
695 | 6 | 6 | ||
696 | === modified file 'Percona-Server/extra/yassl/examples/echoclient/echoclient.cpp' | |||
697 | --- Percona-Server/extra/yassl/examples/echoclient/echoclient.cpp 2012-02-10 14:33:27 +0000 | |||
698 | +++ Percona-Server/extra/yassl/examples/echoclient/echoclient.cpp 2013-06-23 08:01:44 +0000 | |||
699 | @@ -1,5 +1,5 @@ | |||
700 | 1 | /* | 1 | /* |
702 | 2 | Copyright (C) 2006 MySQL AB | 2 | Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. |
703 | 3 | 3 | ||
704 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
705 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
706 | 6 | 6 | ||
707 | === modified file 'Percona-Server/extra/yassl/examples/echoserver/echoserver.cpp' | |||
708 | --- Percona-Server/extra/yassl/examples/echoserver/echoserver.cpp 2012-02-10 14:33:27 +0000 | |||
709 | +++ Percona-Server/extra/yassl/examples/echoserver/echoserver.cpp 2013-06-23 08:01:44 +0000 | |||
710 | @@ -1,5 +1,5 @@ | |||
711 | 1 | /* | 1 | /* |
713 | 2 | Copyright (C) 2006 MySQL AB | 2 | Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. |
714 | 3 | 3 | ||
715 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
716 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
717 | 6 | 6 | ||
718 | === modified file 'Percona-Server/extra/yassl/examples/server/server.cpp' | |||
719 | --- Percona-Server/extra/yassl/examples/server/server.cpp 2012-02-10 14:33:27 +0000 | |||
720 | +++ Percona-Server/extra/yassl/examples/server/server.cpp 2013-06-23 08:01:44 +0000 | |||
721 | @@ -1,5 +1,5 @@ | |||
722 | 1 | /* | 1 | /* |
724 | 2 | Copyright (C) 2006 MySQL AB | 2 | Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. |
725 | 3 | 3 | ||
726 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
727 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
728 | 6 | 6 | ||
729 | === modified file 'Percona-Server/extra/yassl/include/buffer.hpp' | |||
730 | --- Percona-Server/extra/yassl/include/buffer.hpp 2012-02-13 11:40:12 +0000 | |||
731 | +++ Percona-Server/extra/yassl/include/buffer.hpp 2013-06-23 08:01:44 +0000 | |||
732 | @@ -1,5 +1,5 @@ | |||
733 | 1 | /* | 1 | /* |
735 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
736 | 3 | 3 | ||
737 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
738 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
739 | 6 | 6 | ||
740 | === modified file 'Percona-Server/extra/yassl/include/cert_wrapper.hpp' | |||
741 | --- Percona-Server/extra/yassl/include/cert_wrapper.hpp 2012-02-10 09:41:54 +0000 | |||
742 | +++ Percona-Server/extra/yassl/include/cert_wrapper.hpp 2013-06-23 08:01:44 +0000 | |||
743 | @@ -1,6 +1,5 @@ | |||
744 | 1 | /* | 1 | /* |
747 | 2 | Copyright (c) 2005-2007 MySQL AB, 2008 Sun Microsystems, Inc. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
746 | 3 | Use is subject to license terms. | ||
748 | 4 | 3 | ||
749 | 5 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
750 | 6 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
751 | 7 | 6 | ||
752 | === modified file 'Percona-Server/extra/yassl/include/lock.hpp' | |||
753 | --- Percona-Server/extra/yassl/include/lock.hpp 2012-11-21 13:44:15 +0000 | |||
754 | +++ Percona-Server/extra/yassl/include/lock.hpp 2013-06-23 08:01:44 +0000 | |||
755 | @@ -1,5 +1,5 @@ | |||
756 | 1 | /* | 1 | /* |
758 | 2 | Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
759 | 3 | 3 | ||
760 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
761 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
762 | 6 | 6 | ||
763 | === modified file 'Percona-Server/extra/yassl/include/openssl/prefix_ssl.h' | |||
764 | --- Percona-Server/extra/yassl/include/openssl/prefix_ssl.h 2012-02-10 09:39:51 +0000 | |||
765 | +++ Percona-Server/extra/yassl/include/openssl/prefix_ssl.h 2013-06-23 08:01:44 +0000 | |||
766 | @@ -1,6 +1,5 @@ | |||
767 | 1 | /* | 1 | /* |
770 | 2 | Copyright (c) 2006, 2007 MySQL AB, 2008 Sun Microsystems, Inc. | 2 | Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. |
769 | 3 | Use is subject to license terms. | ||
771 | 4 | 3 | ||
772 | 5 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
773 | 6 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
774 | 7 | 6 | ||
775 | === modified file 'Percona-Server/extra/yassl/include/socket_wrapper.hpp' | |||
776 | --- Percona-Server/extra/yassl/include/socket_wrapper.hpp 2012-02-13 11:40:12 +0000 | |||
777 | +++ Percona-Server/extra/yassl/include/socket_wrapper.hpp 2013-06-23 08:01:44 +0000 | |||
778 | @@ -1,5 +1,5 @@ | |||
779 | 1 | /* | 1 | /* |
781 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
782 | 3 | 3 | ||
783 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
784 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
785 | 6 | 6 | ||
786 | === modified file 'Percona-Server/extra/yassl/include/yassl_error.hpp' | |||
787 | --- Percona-Server/extra/yassl/include/yassl_error.hpp 2012-11-21 13:44:15 +0000 | |||
788 | +++ Percona-Server/extra/yassl/include/yassl_error.hpp 2013-06-23 08:01:44 +0000 | |||
789 | @@ -1,6 +1,5 @@ | |||
790 | 1 | /* | 1 | /* |
793 | 2 | Copyright (c) 2005-2007 MySQL AB, 2010 Sun Microsystems, Inc. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
792 | 3 | Use is subject to license terms. | ||
794 | 4 | 3 | ||
795 | 5 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
796 | 6 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
797 | @@ -53,7 +52,8 @@ | |||
798 | 53 | badVersion_error = 117, | 52 | badVersion_error = 117, |
799 | 54 | compress_error = 118, | 53 | compress_error = 118, |
800 | 55 | decompress_error = 119, | 54 | decompress_error = 119, |
802 | 56 | pms_version_error = 120 | 55 | pms_version_error = 120, |
803 | 56 | sanityCipher_error = 121 | ||
804 | 57 | 57 | ||
805 | 58 | // !!!! add error message to .cpp !!!! | 58 | // !!!! add error message to .cpp !!!! |
806 | 59 | 59 | ||
807 | 60 | 60 | ||
808 | === modified file 'Percona-Server/extra/yassl/include/yassl_imp.hpp' | |||
809 | --- Percona-Server/extra/yassl/include/yassl_imp.hpp 2012-02-10 09:41:54 +0000 | |||
810 | +++ Percona-Server/extra/yassl/include/yassl_imp.hpp 2013-06-23 08:01:44 +0000 | |||
811 | @@ -1,6 +1,5 @@ | |||
812 | 1 | /* | 1 | /* |
815 | 2 | Copyright (c) 2005-2007 MySQL AB, 2008 Sun Microsystems, Inc. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
814 | 3 | Use is subject to license terms. | ||
816 | 4 | 3 | ||
817 | 5 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
818 | 6 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
819 | 7 | 6 | ||
820 | === modified file 'Percona-Server/extra/yassl/include/yassl_int.hpp' | |||
821 | --- Percona-Server/extra/yassl/include/yassl_int.hpp 2012-02-13 12:44:54 +0000 | |||
822 | +++ Percona-Server/extra/yassl/include/yassl_int.hpp 2013-06-23 08:01:44 +0000 | |||
823 | @@ -1,5 +1,5 @@ | |||
824 | 1 | /* | 1 | /* |
826 | 2 | Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
827 | 3 | 3 | ||
828 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
829 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
830 | 6 | 6 | ||
831 | === modified file 'Percona-Server/extra/yassl/include/yassl_types.hpp' | |||
832 | --- Percona-Server/extra/yassl/include/yassl_types.hpp 2012-02-13 12:44:54 +0000 | |||
833 | +++ Percona-Server/extra/yassl/include/yassl_types.hpp 2013-06-23 08:01:44 +0000 | |||
834 | @@ -1,6 +1,5 @@ | |||
835 | 1 | /* | 1 | /* |
838 | 2 | Copyright (c) 2005-2007 MySQL AB, 2008 Sun Microsystems, Inc. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
837 | 3 | Use is subject to license terms. | ||
839 | 4 | 3 | ||
840 | 5 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
841 | 6 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
842 | @@ -220,7 +219,11 @@ | |||
843 | 220 | const int MAX_RECORD_SIZE = 16384; // 2^14, max size by standard | 219 | const int MAX_RECORD_SIZE = 16384; // 2^14, max size by standard |
844 | 221 | const int COMPRESS_EXTRA = 1024; // extra compression possible addition | 220 | const int COMPRESS_EXTRA = 1024; // extra compression possible addition |
845 | 222 | const int SESSION_FLUSH_COUNT = 256; // when to flush session cache | 221 | const int SESSION_FLUSH_COUNT = 256; // when to flush session cache |
847 | 223 | 222 | const int MAX_PAD_SIZE = 256; // max TLS padding size | |
848 | 223 | const int COMPRESS_CONSTANT = 13; // compression calculation constant | ||
849 | 224 | const int COMPRESS_UPPER = 55; // compression calculation numerator | ||
850 | 225 | const int COMPRESS_LOWER = 64; // compression calculation denominator | ||
851 | 226 | const int COMPRESS_DUMMY_SIZE = 64; // compression dummy round size | ||
852 | 224 | 227 | ||
853 | 225 | typedef uint8 Cipher; // first byte is always 0x00 for SSLv3 & TLS | 228 | typedef uint8 Cipher; // first byte is always 0x00 for SSLv3 & TLS |
854 | 226 | 229 | ||
855 | 227 | 230 | ||
856 | === modified file 'Percona-Server/extra/yassl/src/buffer.cpp' | |||
857 | --- Percona-Server/extra/yassl/src/buffer.cpp 2012-02-13 12:44:54 +0000 | |||
858 | +++ Percona-Server/extra/yassl/src/buffer.cpp 2013-06-23 08:01:44 +0000 | |||
859 | @@ -1,6 +1,5 @@ | |||
860 | 1 | /* | 1 | /* |
863 | 2 | Copyright (c) 2005-2007 MySQL AB, 2009 Sun Microsystems, Inc. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
862 | 3 | Use is subject to license terms. | ||
864 | 4 | 3 | ||
865 | 5 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
866 | 6 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
867 | 7 | 6 | ||
868 | === modified file 'Percona-Server/extra/yassl/src/cert_wrapper.cpp' | |||
869 | --- Percona-Server/extra/yassl/src/cert_wrapper.cpp 2012-11-21 13:44:15 +0000 | |||
870 | +++ Percona-Server/extra/yassl/src/cert_wrapper.cpp 2013-06-23 08:01:44 +0000 | |||
871 | @@ -1,6 +1,5 @@ | |||
872 | 1 | /* | 1 | /* |
875 | 2 | Copyright (c) 2005-2007 MySQL AB, 2008, 2009 Sun Microsystems, Inc. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
874 | 3 | Use is subject to license terms. | ||
876 | 4 | 3 | ||
877 | 5 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
878 | 6 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
879 | 7 | 6 | ||
880 | === modified file 'Percona-Server/extra/yassl/src/crypto_wrapper.cpp' | |||
881 | --- Percona-Server/extra/yassl/src/crypto_wrapper.cpp 2012-02-13 12:44:54 +0000 | |||
882 | +++ Percona-Server/extra/yassl/src/crypto_wrapper.cpp 2013-06-23 08:01:44 +0000 | |||
883 | @@ -1,5 +1,5 @@ | |||
884 | 1 | /* | 1 | /* |
886 | 2 | Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
887 | 3 | 3 | ||
888 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
889 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
890 | 6 | 6 | ||
891 | === modified file 'Percona-Server/extra/yassl/src/handshake.cpp' | |||
892 | --- Percona-Server/extra/yassl/src/handshake.cpp 2013-03-21 16:54:18 +0000 | |||
893 | +++ Percona-Server/extra/yassl/src/handshake.cpp 2013-06-23 08:01:44 +0000 | |||
894 | @@ -1,6 +1,5 @@ | |||
895 | 1 | /* | 1 | /* |
898 | 2 | Copyright (c) 2005-2008 MySQL AB, 2009 Sun Microsystems, Inc. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
897 | 3 | Use is subject to license terms. | ||
899 | 4 | 3 | ||
900 | 5 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
901 | 6 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
902 | @@ -221,12 +220,45 @@ | |||
903 | 221 | } | 220 | } |
904 | 222 | 221 | ||
905 | 223 | 222 | ||
906 | 223 | // sanity checks on encrypted message size | ||
907 | 224 | static int sanity_check_message(SSL& ssl, uint msgSz) | ||
908 | 225 | { | ||
909 | 226 | uint minSz = 0; | ||
910 | 227 | |||
911 | 228 | if (ssl.getSecurity().get_parms().cipher_type_ == block) { | ||
912 | 229 | uint blockSz = ssl.getCrypto().get_cipher().get_blockSize(); | ||
913 | 230 | if (msgSz % blockSz) | ||
914 | 231 | return -1; | ||
915 | 232 | |||
916 | 233 | minSz = ssl.getSecurity().get_parms().hash_size_ + 1; // pad byte too | ||
917 | 234 | if (blockSz > minSz) | ||
918 | 235 | minSz = blockSz; | ||
919 | 236 | |||
920 | 237 | if (ssl.isTLSv1_1()) | ||
921 | 238 | minSz += blockSz; // explicit IV | ||
922 | 239 | } | ||
923 | 240 | else { // stream | ||
924 | 241 | minSz = ssl.getSecurity().get_parms().hash_size_; | ||
925 | 242 | } | ||
926 | 243 | |||
927 | 244 | if (msgSz < minSz) | ||
928 | 245 | return -1; | ||
929 | 246 | |||
930 | 247 | return 0; | ||
931 | 248 | } | ||
932 | 249 | |||
933 | 250 | |||
934 | 224 | // decrypt input message in place, store size in case needed later | 251 | // decrypt input message in place, store size in case needed later |
935 | 225 | void decrypt_message(SSL& ssl, input_buffer& input, uint sz) | 252 | void decrypt_message(SSL& ssl, input_buffer& input, uint sz) |
936 | 226 | { | 253 | { |
937 | 227 | input_buffer plain(sz); | 254 | input_buffer plain(sz); |
938 | 228 | opaque* cipher = input.get_buffer() + input.get_current(); | 255 | opaque* cipher = input.get_buffer() + input.get_current(); |
939 | 229 | 256 | ||
940 | 257 | if (sanity_check_message(ssl, sz) != 0) { | ||
941 | 258 | ssl.SetError(sanityCipher_error); | ||
942 | 259 | return; | ||
943 | 260 | } | ||
944 | 261 | |||
945 | 230 | ssl.useCrypto().use_cipher().decrypt(plain.get_buffer(), cipher, sz); | 262 | ssl.useCrypto().use_cipher().decrypt(plain.get_buffer(), cipher, sz); |
946 | 231 | memcpy(cipher, plain.get_buffer(), sz); | 263 | memcpy(cipher, plain.get_buffer(), sz); |
947 | 232 | ssl.useSecurity().use_parms().encrypt_size_ = sz; | 264 | ssl.useSecurity().use_parms().encrypt_size_ = sz; |
948 | @@ -774,6 +806,8 @@ | |||
949 | 774 | return 0; | 806 | return 0; |
950 | 775 | } | 807 | } |
951 | 776 | decrypt_message(ssl, buffer, hdr.length_); | 808 | decrypt_message(ssl, buffer, hdr.length_); |
952 | 809 | if (ssl.GetError()) | ||
953 | 810 | return 0; | ||
954 | 777 | } | 811 | } |
955 | 778 | 812 | ||
956 | 779 | mySTL::auto_ptr<Message> msg(mf.CreateObject(hdr.type_)); | 813 | mySTL::auto_ptr<Message> msg(mf.CreateObject(hdr.type_)); |
957 | 780 | 814 | ||
958 | === modified file 'Percona-Server/extra/yassl/src/lock.cpp' | |||
959 | --- Percona-Server/extra/yassl/src/lock.cpp 2012-11-21 13:44:15 +0000 | |||
960 | +++ Percona-Server/extra/yassl/src/lock.cpp 2013-06-23 08:01:44 +0000 | |||
961 | @@ -1,5 +1,5 @@ | |||
962 | 1 | /* | 1 | /* |
964 | 2 | Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
965 | 3 | 3 | ||
966 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
967 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
968 | 6 | 6 | ||
969 | === modified file 'Percona-Server/extra/yassl/src/make.bat' | |||
970 | --- Percona-Server/extra/yassl/src/make.bat 2012-02-10 14:33:27 +0000 | |||
971 | +++ Percona-Server/extra/yassl/src/make.bat 2013-06-23 08:01:44 +0000 | |||
972 | @@ -1,4 +1,4 @@ | |||
974 | 1 | REM Copyright (C) 2006, 2007 MySQL AB | 1 | REM Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. |
975 | 2 | REM | 2 | REM |
976 | 3 | REM This program is free software; you can redistribute it and/or modify | 3 | REM This program is free software; you can redistribute it and/or modify |
977 | 4 | REM it under the terms of the GNU General Public License as published by | 4 | REM it under the terms of the GNU General Public License as published by |
978 | 5 | 5 | ||
979 | === modified file 'Percona-Server/extra/yassl/src/socket_wrapper.cpp' | |||
980 | --- Percona-Server/extra/yassl/src/socket_wrapper.cpp 2012-02-13 12:44:54 +0000 | |||
981 | +++ Percona-Server/extra/yassl/src/socket_wrapper.cpp 2013-06-23 08:01:44 +0000 | |||
982 | @@ -1,5 +1,5 @@ | |||
983 | 1 | /* | 1 | /* |
985 | 2 | Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
986 | 3 | 3 | ||
987 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
988 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
989 | 6 | 6 | ||
990 | === modified file 'Percona-Server/extra/yassl/src/ssl.cpp' | |||
991 | --- Percona-Server/extra/yassl/src/ssl.cpp 2012-11-21 13:44:15 +0000 | |||
992 | +++ Percona-Server/extra/yassl/src/ssl.cpp 2013-06-23 08:01:44 +0000 | |||
993 | @@ -1,6 +1,5 @@ | |||
994 | 1 | /* | 1 | /* |
997 | 2 | Copyright (c) 2005-2007 MySQL AB, 2008-2010 Sun Microsystems, Inc. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
996 | 3 | Use is subject to license terms. | ||
998 | 4 | 3 | ||
999 | 5 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1000 | 6 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1001 | 7 | 6 | ||
1002 | === modified file 'Percona-Server/extra/yassl/src/template_instnt.cpp' | |||
1003 | --- Percona-Server/extra/yassl/src/template_instnt.cpp 2009-05-15 12:57:51 +0000 | |||
1004 | +++ Percona-Server/extra/yassl/src/template_instnt.cpp 2013-06-23 08:01:44 +0000 | |||
1005 | @@ -1,5 +1,6 @@ | |||
1006 | 1 | /* | 1 | /* |
1008 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000-2008 MySQL AB |
1009 | 3 | Use is subject to license terms | ||
1010 | 3 | 4 | ||
1011 | 4 | This program is free software; you can redistribute it and/or modify | 5 | This program is free software; you can redistribute it and/or modify |
1012 | 5 | it under the terms of the GNU General Public License as published by | 6 | it under the terms of the GNU General Public License as published by |
1013 | 6 | 7 | ||
1014 | === modified file 'Percona-Server/extra/yassl/src/yassl.cpp' | |||
1015 | --- Percona-Server/extra/yassl/src/yassl.cpp 2012-02-10 14:33:27 +0000 | |||
1016 | +++ Percona-Server/extra/yassl/src/yassl.cpp 2013-06-23 08:01:44 +0000 | |||
1017 | @@ -1,5 +1,5 @@ | |||
1018 | 1 | /* | 1 | /* |
1020 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1021 | 3 | 3 | ||
1022 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1023 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1024 | 6 | 6 | ||
1025 | === modified file 'Percona-Server/extra/yassl/src/yassl_error.cpp' | |||
1026 | --- Percona-Server/extra/yassl/src/yassl_error.cpp 2012-11-21 13:44:15 +0000 | |||
1027 | +++ Percona-Server/extra/yassl/src/yassl_error.cpp 2013-06-23 08:01:44 +0000 | |||
1028 | @@ -1,5 +1,5 @@ | |||
1029 | 1 | /* | 1 | /* |
1031 | 2 | Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
1032 | 3 | 3 | ||
1033 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1034 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1035 | @@ -144,6 +144,10 @@ | |||
1036 | 144 | strncpy(buffer, "bad PreMasterSecret version error", max); | 144 | strncpy(buffer, "bad PreMasterSecret version error", max); |
1037 | 145 | break; | 145 | break; |
1038 | 146 | 146 | ||
1039 | 147 | case sanityCipher_error : | ||
1040 | 148 | strncpy(buffer, "sanity check on cipher text size error", max); | ||
1041 | 149 | break; | ||
1042 | 150 | |||
1043 | 147 | // openssl errors | 151 | // openssl errors |
1044 | 148 | case SSL_ERROR_WANT_READ : | 152 | case SSL_ERROR_WANT_READ : |
1045 | 149 | strncpy(buffer, "the read operation would block", max); | 153 | strncpy(buffer, "the read operation would block", max); |
1046 | 150 | 154 | ||
1047 | === modified file 'Percona-Server/extra/yassl/src/yassl_imp.cpp' | |||
1048 | --- Percona-Server/extra/yassl/src/yassl_imp.cpp 2012-03-02 12:23:52 +0000 | |||
1049 | +++ Percona-Server/extra/yassl/src/yassl_imp.cpp 2013-06-23 08:01:44 +0000 | |||
1050 | @@ -972,30 +972,193 @@ | |||
1051 | 972 | } | 972 | } |
1052 | 973 | 973 | ||
1053 | 974 | 974 | ||
1054 | 975 | // check all bytes for equality | ||
1055 | 976 | static int constant_compare(const byte* a, const byte* b, int len) | ||
1056 | 977 | { | ||
1057 | 978 | int good = 0; | ||
1058 | 979 | int bad = 0; | ||
1059 | 980 | |||
1060 | 981 | for (int i = 0; i < len; i++) { | ||
1061 | 982 | if (a[i] == b[i]) | ||
1062 | 983 | good++; | ||
1063 | 984 | else | ||
1064 | 985 | bad++; | ||
1065 | 986 | } | ||
1066 | 987 | |||
1067 | 988 | if (good == len) | ||
1068 | 989 | return 0; | ||
1069 | 990 | else | ||
1070 | 991 | return 0 - bad; // failure | ||
1071 | 992 | } | ||
1072 | 993 | |||
1073 | 994 | |||
1074 | 995 | // check bytes for pad value | ||
1075 | 996 | static int pad_check(const byte* input, byte pad, int len) | ||
1076 | 997 | { | ||
1077 | 998 | int good = 0; | ||
1078 | 999 | int bad = 0; | ||
1079 | 1000 | |||
1080 | 1001 | for (int i = 0; i < len; i++) { | ||
1081 | 1002 | if (input[i] == pad) | ||
1082 | 1003 | good++; | ||
1083 | 1004 | else | ||
1084 | 1005 | bad++; | ||
1085 | 1006 | } | ||
1086 | 1007 | |||
1087 | 1008 | if (good == len) | ||
1088 | 1009 | return 0; | ||
1089 | 1010 | else | ||
1090 | 1011 | return 0 - bad; // failure | ||
1091 | 1012 | } | ||
1092 | 1013 | |||
1093 | 1014 | |||
1094 | 1015 | // get number of compression rounds | ||
1095 | 1016 | static inline int get_rounds(int pLen, int padLen, int t) | ||
1096 | 1017 | { | ||
1097 | 1018 | int roundL1 = 1; // round ups | ||
1098 | 1019 | int roundL2 = 1; | ||
1099 | 1020 | |||
1100 | 1021 | int L1 = COMPRESS_CONSTANT + pLen - t; | ||
1101 | 1022 | int L2 = COMPRESS_CONSTANT + pLen - padLen - 1 - t; | ||
1102 | 1023 | |||
1103 | 1024 | L1 -= COMPRESS_UPPER; | ||
1104 | 1025 | L2 -= COMPRESS_UPPER; | ||
1105 | 1026 | |||
1106 | 1027 | if ( (L1 % COMPRESS_LOWER) == 0) | ||
1107 | 1028 | roundL1 = 0; | ||
1108 | 1029 | if ( (L2 % COMPRESS_LOWER) == 0) | ||
1109 | 1030 | roundL2 = 0; | ||
1110 | 1031 | |||
1111 | 1032 | L1 /= COMPRESS_LOWER; | ||
1112 | 1033 | L2 /= COMPRESS_LOWER; | ||
1113 | 1034 | |||
1114 | 1035 | L1 += roundL1; | ||
1115 | 1036 | L2 += roundL2; | ||
1116 | 1037 | |||
1117 | 1038 | return L1 - L2; | ||
1118 | 1039 | } | ||
1119 | 1040 | |||
1120 | 1041 | |||
1121 | 1042 | // do compression rounds on dummy data | ||
1122 | 1043 | static inline void compress_rounds(SSL& ssl, int rounds, const byte* dummy) | ||
1123 | 1044 | { | ||
1124 | 1045 | if (rounds) { | ||
1125 | 1046 | Digest* digest = NULL; | ||
1126 | 1047 | |||
1127 | 1048 | MACAlgorithm ma = ssl.getSecurity().get_parms().mac_algorithm_; | ||
1128 | 1049 | if (ma == sha) | ||
1129 | 1050 | digest = NEW_YS SHA; | ||
1130 | 1051 | else if (ma == md5) | ||
1131 | 1052 | digest = NEW_YS MD5; | ||
1132 | 1053 | else if (ma == rmd) | ||
1133 | 1054 | digest = NEW_YS RMD; | ||
1134 | 1055 | else | ||
1135 | 1056 | return; | ||
1136 | 1057 | |||
1137 | 1058 | for (int i = 0; i < rounds; i++) | ||
1138 | 1059 | digest->update(dummy, COMPRESS_LOWER); | ||
1139 | 1060 | |||
1140 | 1061 | ysDelete(digest); | ||
1141 | 1062 | } | ||
1142 | 1063 | } | ||
1143 | 1064 | |||
1144 | 1065 | |||
1145 | 1066 | // timing resistant pad verification | ||
1146 | 1067 | static int timing_verify(SSL& ssl, const byte* input, int padLen, int t, | ||
1147 | 1068 | int pLen) | ||
1148 | 1069 | { | ||
1149 | 1070 | byte verify[SHA_LEN]; | ||
1150 | 1071 | byte dummy[MAX_PAD_SIZE]; | ||
1151 | 1072 | |||
1152 | 1073 | memset(dummy, 1, sizeof(dummy)); | ||
1153 | 1074 | |||
1154 | 1075 | if ( (t + padLen + 1) > pLen) { | ||
1155 | 1076 | pad_check(dummy, (byte)padLen, MAX_PAD_SIZE); | ||
1156 | 1077 | if (ssl.isTLS()) | ||
1157 | 1078 | TLS_hmac(ssl, verify, input, pLen - t, application_data, 1); | ||
1158 | 1079 | else | ||
1159 | 1080 | hmac(ssl, verify, input, pLen - t, application_data, 1); | ||
1160 | 1081 | constant_compare(verify, input + pLen - t, t); | ||
1161 | 1082 | |||
1162 | 1083 | return -1; | ||
1163 | 1084 | } | ||
1164 | 1085 | |||
1165 | 1086 | if (pad_check(input + pLen - (padLen + 1), (byte)padLen, padLen + 1) != 0) { | ||
1166 | 1087 | pad_check(dummy, (byte)padLen, MAX_PAD_SIZE - padLen - 1); | ||
1167 | 1088 | if (ssl.isTLS()) | ||
1168 | 1089 | TLS_hmac(ssl, verify, input, pLen - t, application_data, 1); | ||
1169 | 1090 | else | ||
1170 | 1091 | hmac(ssl, verify, input, pLen - t, application_data, 1); | ||
1171 | 1092 | constant_compare(verify, input + pLen - t, t); | ||
1172 | 1093 | |||
1173 | 1094 | return -1; | ||
1174 | 1095 | } | ||
1175 | 1096 | |||
1176 | 1097 | pad_check(dummy, (byte)padLen, MAX_PAD_SIZE - padLen - 1); | ||
1177 | 1098 | if (ssl.isTLS()) | ||
1178 | 1099 | TLS_hmac(ssl, verify, input, pLen - padLen - 1 - t, application_data,1); | ||
1179 | 1100 | else | ||
1180 | 1101 | hmac(ssl, verify, input, pLen - padLen - 1 - t, application_data, 1); | ||
1181 | 1102 | |||
1182 | 1103 | compress_rounds(ssl, get_rounds(pLen, padLen, t), dummy); | ||
1183 | 1104 | |||
1184 | 1105 | if (constant_compare(verify, input + (pLen - padLen - 1 - t), t) != 0) | ||
1185 | 1106 | return -1; | ||
1186 | 1107 | |||
1187 | 1108 | return 0; | ||
1188 | 1109 | } | ||
1189 | 1110 | |||
1190 | 1111 | |||
1191 | 975 | // Process handler for Data | 1112 | // Process handler for Data |
1192 | 976 | void Data::Process(input_buffer& input, SSL& ssl) | 1113 | void Data::Process(input_buffer& input, SSL& ssl) |
1193 | 977 | { | 1114 | { |
1194 | 978 | int msgSz = ssl.getSecurity().get_parms().encrypt_size_; | 1115 | int msgSz = ssl.getSecurity().get_parms().encrypt_size_; |
1195 | 979 | int pad = 0, padSz = 0; | 1116 | int pad = 0, padSz = 0; |
1196 | 980 | int ivExtra = 0; | 1117 | int ivExtra = 0; |
1197 | 1118 | int digestSz = ssl.getCrypto().get_digest().get_digestSize(); | ||
1198 | 1119 | const byte* rawData = input.get_buffer() + input.get_current(); | ||
1199 | 1120 | opaque verify[SHA_LEN]; | ||
1200 | 981 | 1121 | ||
1201 | 982 | if (ssl.getSecurity().get_parms().cipher_type_ == block) { | 1122 | if (ssl.getSecurity().get_parms().cipher_type_ == block) { |
1202 | 983 | if (ssl.isTLSv1_1()) // IV | 1123 | if (ssl.isTLSv1_1()) // IV |
1203 | 984 | ivExtra = ssl.getCrypto().get_cipher().get_blockSize(); | 1124 | ivExtra = ssl.getCrypto().get_cipher().get_blockSize(); |
1204 | 985 | pad = *(input.get_buffer() + input.get_current() + msgSz -ivExtra - 1); | 1125 | pad = *(input.get_buffer() + input.get_current() + msgSz -ivExtra - 1); |
1205 | 986 | padSz = 1; | 1126 | padSz = 1; |
1208 | 987 | } | 1127 | |
1209 | 988 | int digestSz = ssl.getCrypto().get_digest().get_digestSize(); | 1128 | if (ssl.isTLS()) { |
1210 | 1129 | if (timing_verify(ssl, rawData, pad,digestSz, msgSz-ivExtra) != 0) { | ||
1211 | 1130 | ssl.SetError(verify_error); | ||
1212 | 1131 | return; | ||
1213 | 1132 | } | ||
1214 | 1133 | } | ||
1215 | 1134 | else { // SSLv3, some don't do this padding right | ||
1216 | 1135 | int sz3 = msgSz - digestSz - pad - 1; | ||
1217 | 1136 | hmac(ssl, verify, rawData, sz3, application_data, true); | ||
1218 | 1137 | if (constant_compare(verify, rawData + sz3, digestSz) != 0) { | ||
1219 | 1138 | ssl.SetError(verify_error); | ||
1220 | 1139 | return; | ||
1221 | 1140 | } | ||
1222 | 1141 | } | ||
1223 | 1142 | } | ||
1224 | 1143 | else { // stream | ||
1225 | 1144 | int streamSz = msgSz - digestSz; | ||
1226 | 1145 | if (ssl.isTLS()) | ||
1227 | 1146 | TLS_hmac(ssl, verify, rawData, streamSz, application_data, true); | ||
1228 | 1147 | else | ||
1229 | 1148 | hmac(ssl, verify, rawData, streamSz, application_data, true); | ||
1230 | 1149 | if (constant_compare(verify, rawData + streamSz, digestSz) != 0) { | ||
1231 | 1150 | ssl.SetError(verify_error); | ||
1232 | 1151 | return; | ||
1233 | 1152 | } | ||
1234 | 1153 | } | ||
1235 | 1154 | |||
1236 | 989 | int dataSz = msgSz - ivExtra - digestSz - pad - padSz; | 1155 | int dataSz = msgSz - ivExtra - digestSz - pad - padSz; |
1237 | 990 | opaque verify[SHA_LEN]; | ||
1238 | 991 | 1156 | ||
1239 | 992 | if (dataSz < 0) { | 1157 | if (dataSz < 0) { |
1240 | 993 | ssl.SetError(bad_input); | 1158 | ssl.SetError(bad_input); |
1241 | 994 | return; | 1159 | return; |
1242 | 995 | } | 1160 | } |
1243 | 996 | 1161 | ||
1244 | 997 | const byte* rawData = input.get_buffer() + input.get_current(); | ||
1245 | 998 | |||
1246 | 999 | // read data | 1162 | // read data |
1247 | 1000 | if (dataSz) { // could be compressed | 1163 | if (dataSz) { // could be compressed |
1248 | 1001 | if (ssl.CompressionOn()) { | 1164 | if (ssl.CompressionOn()) { |
1249 | @@ -1013,27 +1176,10 @@ | |||
1250 | 1013 | input.read(data->get_buffer(), dataSz); | 1176 | input.read(data->get_buffer(), dataSz); |
1251 | 1014 | data->add_size(dataSz); | 1177 | data->add_size(dataSz); |
1252 | 1015 | } | 1178 | } |
1274 | 1016 | 1179 | } | |
1275 | 1017 | if (ssl.isTLS()) | 1180 | |
1276 | 1018 | TLS_hmac(ssl, verify, rawData, dataSz, application_data, true); | 1181 | // advance past mac and fill |
1277 | 1019 | else | 1182 | input.set_current(input.get_current() + digestSz + pad + padSz); |
1257 | 1020 | hmac(ssl, verify, rawData, dataSz, application_data, true); | ||
1258 | 1021 | } | ||
1259 | 1022 | |||
1260 | 1023 | // read mac and skip fill | ||
1261 | 1024 | opaque mac[SHA_LEN]; | ||
1262 | 1025 | input.read(mac, digestSz); | ||
1263 | 1026 | input.set_current(input.get_current() + pad + padSz); | ||
1264 | 1027 | |||
1265 | 1028 | // verify | ||
1266 | 1029 | if (dataSz) { | ||
1267 | 1030 | if (memcmp(mac, verify, digestSz)) { | ||
1268 | 1031 | ssl.SetError(verify_error); | ||
1269 | 1032 | return; | ||
1270 | 1033 | } | ||
1271 | 1034 | } | ||
1272 | 1035 | else | ||
1273 | 1036 | ssl.get_SEQIncrement(true); // even though no data, increment verify | ||
1278 | 1037 | } | 1183 | } |
1279 | 1038 | 1184 | ||
1280 | 1039 | 1185 | ||
1281 | 1040 | 1186 | ||
1282 | === modified file 'Percona-Server/extra/yassl/taocrypt/benchmark/benchmark.cpp' | |||
1283 | --- Percona-Server/extra/yassl/taocrypt/benchmark/benchmark.cpp 2012-02-10 14:33:27 +0000 | |||
1284 | +++ Percona-Server/extra/yassl/taocrypt/benchmark/benchmark.cpp 2013-06-23 08:01:44 +0000 | |||
1285 | @@ -1,5 +1,5 @@ | |||
1286 | 1 | /* | 1 | /* |
1288 | 2 | Copyright (C) 2006, 2007 MySQL AB | 2 | Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. |
1289 | 3 | 3 | ||
1290 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1291 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1292 | 6 | 6 | ||
1293 | === modified file 'Percona-Server/extra/yassl/taocrypt/benchmark/make.bat' | |||
1294 | --- Percona-Server/extra/yassl/taocrypt/benchmark/make.bat 2012-02-10 14:33:27 +0000 | |||
1295 | +++ Percona-Server/extra/yassl/taocrypt/benchmark/make.bat 2013-06-23 08:01:44 +0000 | |||
1296 | @@ -1,4 +1,4 @@ | |||
1298 | 1 | REM Copyright (C) 2006, 2007 MySQL AB | 1 | REM Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. |
1299 | 2 | REM | 2 | REM |
1300 | 3 | REM This program is free software; you can redistribute it and/or modify | 3 | REM This program is free software; you can redistribute it and/or modify |
1301 | 4 | REM it under the terms of the GNU General Public License as published by | 4 | REM it under the terms of the GNU General Public License as published by |
1302 | 5 | 5 | ||
1303 | === modified file 'Percona-Server/extra/yassl/taocrypt/include/aes.hpp' | |||
1304 | --- Percona-Server/extra/yassl/taocrypt/include/aes.hpp 2012-11-21 13:44:15 +0000 | |||
1305 | +++ Percona-Server/extra/yassl/taocrypt/include/aes.hpp 2013-06-23 08:01:44 +0000 | |||
1306 | @@ -1,5 +1,5 @@ | |||
1307 | 1 | /* | 1 | /* |
1309 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1310 | 3 | 3 | ||
1311 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1312 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1313 | 6 | 6 | ||
1314 | === modified file 'Percona-Server/extra/yassl/taocrypt/include/asn.hpp' | |||
1315 | --- Percona-Server/extra/yassl/taocrypt/include/asn.hpp 2012-02-13 12:44:54 +0000 | |||
1316 | +++ Percona-Server/extra/yassl/taocrypt/include/asn.hpp 2013-06-23 08:01:44 +0000 | |||
1317 | @@ -1,6 +1,5 @@ | |||
1318 | 1 | /* | 1 | /* |
1321 | 2 | Copyright (c) 2005-2007 MySQL AB, 2010 Sun Microsystems, Inc. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
1320 | 3 | Use is subject to license terms. | ||
1322 | 4 | 3 | ||
1323 | 5 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1324 | 6 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1325 | 7 | 6 | ||
1326 | === modified file 'Percona-Server/extra/yassl/taocrypt/include/block.hpp' | |||
1327 | --- Percona-Server/extra/yassl/taocrypt/include/block.hpp 2012-02-13 12:44:54 +0000 | |||
1328 | +++ Percona-Server/extra/yassl/taocrypt/include/block.hpp 2013-06-23 08:01:44 +0000 | |||
1329 | @@ -1,6 +1,5 @@ | |||
1330 | 1 | /* | 1 | /* |
1333 | 2 | Copyright (c) 2005-2007 MySQL AB, 2009 Sun Microsystems, Inc. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
1332 | 3 | Use is subject to license terms. | ||
1334 | 4 | 3 | ||
1335 | 5 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1336 | 6 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1337 | 7 | 6 | ||
1338 | === modified file 'Percona-Server/extra/yassl/taocrypt/include/blowfish.hpp' | |||
1339 | --- Percona-Server/extra/yassl/taocrypt/include/blowfish.hpp 2012-02-13 12:44:54 +0000 | |||
1340 | +++ Percona-Server/extra/yassl/taocrypt/include/blowfish.hpp 2013-06-23 08:01:44 +0000 | |||
1341 | @@ -1,5 +1,5 @@ | |||
1342 | 1 | /* | 1 | /* |
1344 | 2 | Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. |
1345 | 3 | 3 | ||
1346 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1347 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1348 | 6 | 6 | ||
1349 | === modified file 'Percona-Server/extra/yassl/taocrypt/include/des.hpp' | |||
1350 | --- Percona-Server/extra/yassl/taocrypt/include/des.hpp 2012-02-13 11:40:12 +0000 | |||
1351 | +++ Percona-Server/extra/yassl/taocrypt/include/des.hpp 2013-06-23 08:01:44 +0000 | |||
1352 | @@ -1,5 +1,5 @@ | |||
1353 | 1 | /* | 1 | /* |
1355 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1356 | 3 | 3 | ||
1357 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1358 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1359 | 6 | 6 | ||
1360 | === modified file 'Percona-Server/extra/yassl/taocrypt/include/hash.hpp' | |||
1361 | --- Percona-Server/extra/yassl/taocrypt/include/hash.hpp 2012-02-13 11:40:12 +0000 | |||
1362 | +++ Percona-Server/extra/yassl/taocrypt/include/hash.hpp 2013-06-23 08:01:44 +0000 | |||
1363 | @@ -1,5 +1,5 @@ | |||
1364 | 1 | /* | 1 | /* |
1366 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1367 | 3 | 3 | ||
1368 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1369 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1370 | 6 | 6 | ||
1371 | === modified file 'Percona-Server/extra/yassl/taocrypt/include/hc128.hpp' | |||
1372 | --- Percona-Server/extra/yassl/taocrypt/include/hc128.hpp 2012-02-10 14:33:27 +0000 | |||
1373 | +++ Percona-Server/extra/yassl/taocrypt/include/hc128.hpp 2013-06-23 08:01:44 +0000 | |||
1374 | @@ -1,5 +1,5 @@ | |||
1375 | 1 | /* | 1 | /* |
1377 | 2 | Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
1378 | 3 | 3 | ||
1379 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1380 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1381 | 6 | 6 | ||
1382 | === modified file 'Percona-Server/extra/yassl/taocrypt/include/integer.hpp' | |||
1383 | --- Percona-Server/extra/yassl/taocrypt/include/integer.hpp 2012-02-10 14:33:27 +0000 | |||
1384 | +++ Percona-Server/extra/yassl/taocrypt/include/integer.hpp 2013-06-23 08:01:44 +0000 | |||
1385 | @@ -1,5 +1,5 @@ | |||
1386 | 1 | /* | 1 | /* |
1388 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1389 | 3 | 3 | ||
1390 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1391 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1392 | 6 | 6 | ||
1393 | === modified file 'Percona-Server/extra/yassl/taocrypt/include/kernelc.hpp' | |||
1394 | --- Percona-Server/extra/yassl/taocrypt/include/kernelc.hpp 2012-02-10 14:33:27 +0000 | |||
1395 | +++ Percona-Server/extra/yassl/taocrypt/include/kernelc.hpp 2013-06-23 08:01:44 +0000 | |||
1396 | @@ -1,5 +1,5 @@ | |||
1397 | 1 | /* | 1 | /* |
1399 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1400 | 3 | 3 | ||
1401 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1402 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1403 | 6 | 6 | ||
1404 | === modified file 'Percona-Server/extra/yassl/taocrypt/include/misc.hpp' | |||
1405 | --- Percona-Server/extra/yassl/taocrypt/include/misc.hpp 2012-02-13 12:44:54 +0000 | |||
1406 | +++ Percona-Server/extra/yassl/taocrypt/include/misc.hpp 2013-06-23 08:01:44 +0000 | |||
1407 | @@ -1,5 +1,5 @@ | |||
1408 | 1 | /* | 1 | /* |
1410 | 2 | Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
1411 | 3 | 3 | ||
1412 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1413 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1414 | 6 | 6 | ||
1415 | === modified file 'Percona-Server/extra/yassl/taocrypt/include/modes.hpp' | |||
1416 | --- Percona-Server/extra/yassl/taocrypt/include/modes.hpp 2012-02-13 12:44:54 +0000 | |||
1417 | +++ Percona-Server/extra/yassl/taocrypt/include/modes.hpp 2013-06-23 08:01:44 +0000 | |||
1418 | @@ -1,6 +1,5 @@ | |||
1419 | 1 | /* | 1 | /* |
1422 | 2 | Copyright (c) 2005-2007 MySQL AB, 2009 Sun Microsystems, Inc. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
1421 | 3 | Use is subject to license terms. | ||
1423 | 4 | 3 | ||
1424 | 5 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1425 | 6 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1426 | 7 | 6 | ||
1427 | === modified file 'Percona-Server/extra/yassl/taocrypt/include/pwdbased.hpp' | |||
1428 | --- Percona-Server/extra/yassl/taocrypt/include/pwdbased.hpp 2012-11-21 13:44:15 +0000 | |||
1429 | +++ Percona-Server/extra/yassl/taocrypt/include/pwdbased.hpp 2013-06-23 08:01:44 +0000 | |||
1430 | @@ -1,5 +1,5 @@ | |||
1431 | 1 | /* | 1 | /* |
1433 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1434 | 3 | 3 | ||
1435 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1436 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1437 | 6 | 6 | ||
1438 | === modified file 'Percona-Server/extra/yassl/taocrypt/include/rabbit.hpp' | |||
1439 | --- Percona-Server/extra/yassl/taocrypt/include/rabbit.hpp 2012-02-10 14:33:27 +0000 | |||
1440 | +++ Percona-Server/extra/yassl/taocrypt/include/rabbit.hpp 2013-06-23 08:01:44 +0000 | |||
1441 | @@ -1,5 +1,5 @@ | |||
1442 | 1 | /* | 1 | /* |
1444 | 2 | Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
1445 | 3 | 3 | ||
1446 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1447 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1448 | 6 | 6 | ||
1449 | === modified file 'Percona-Server/extra/yassl/taocrypt/include/rsa.hpp' | |||
1450 | --- Percona-Server/extra/yassl/taocrypt/include/rsa.hpp 2012-02-13 11:40:12 +0000 | |||
1451 | +++ Percona-Server/extra/yassl/taocrypt/include/rsa.hpp 2013-06-23 08:01:44 +0000 | |||
1452 | @@ -1,5 +1,5 @@ | |||
1453 | 1 | /* | 1 | /* |
1455 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1456 | 3 | 3 | ||
1457 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1458 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1459 | 6 | 6 | ||
1460 | === modified file 'Percona-Server/extra/yassl/taocrypt/include/runtime.hpp' | |||
1461 | --- Percona-Server/extra/yassl/taocrypt/include/runtime.hpp 2012-02-13 12:44:54 +0000 | |||
1462 | +++ Percona-Server/extra/yassl/taocrypt/include/runtime.hpp 2013-06-23 08:01:44 +0000 | |||
1463 | @@ -1,5 +1,5 @@ | |||
1464 | 1 | /* | 1 | /* |
1466 | 2 | Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
1467 | 3 | 3 | ||
1468 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1469 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1470 | 6 | 6 | ||
1471 | === modified file 'Percona-Server/extra/yassl/taocrypt/include/types.hpp' | |||
1472 | --- Percona-Server/extra/yassl/taocrypt/include/types.hpp 2012-02-10 14:33:27 +0000 | |||
1473 | +++ Percona-Server/extra/yassl/taocrypt/include/types.hpp 2013-06-23 08:01:44 +0000 | |||
1474 | @@ -1,5 +1,5 @@ | |||
1475 | 1 | /* | 1 | /* |
1477 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1478 | 3 | 3 | ||
1479 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1480 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1481 | 6 | 6 | ||
1482 | === modified file 'Percona-Server/extra/yassl/taocrypt/mySTL/stdexcept.hpp' | |||
1483 | --- Percona-Server/extra/yassl/taocrypt/mySTL/stdexcept.hpp 2012-02-10 14:33:27 +0000 | |||
1484 | +++ Percona-Server/extra/yassl/taocrypt/mySTL/stdexcept.hpp 2013-06-23 08:01:44 +0000 | |||
1485 | @@ -1,5 +1,5 @@ | |||
1486 | 1 | /* | 1 | /* |
1488 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1489 | 3 | 3 | ||
1490 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1491 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1492 | 6 | 6 | ||
1493 | === modified file 'Percona-Server/extra/yassl/taocrypt/mySTL/vector.hpp' | |||
1494 | --- Percona-Server/extra/yassl/taocrypt/mySTL/vector.hpp 2012-02-10 14:33:27 +0000 | |||
1495 | +++ Percona-Server/extra/yassl/taocrypt/mySTL/vector.hpp 2013-06-23 08:01:44 +0000 | |||
1496 | @@ -1,5 +1,5 @@ | |||
1497 | 1 | /* | 1 | /* |
1499 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1500 | 3 | 3 | ||
1501 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1502 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1503 | 6 | 6 | ||
1504 | === modified file 'Percona-Server/extra/yassl/taocrypt/src/aes.cpp' | |||
1505 | --- Percona-Server/extra/yassl/taocrypt/src/aes.cpp 2012-02-13 12:44:54 +0000 | |||
1506 | +++ Percona-Server/extra/yassl/taocrypt/src/aes.cpp 2013-06-23 08:01:44 +0000 | |||
1507 | @@ -1,5 +1,5 @@ | |||
1508 | 1 | /* | 1 | /* |
1510 | 2 | Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
1511 | 3 | 3 | ||
1512 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1513 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1514 | 6 | 6 | ||
1515 | === modified file 'Percona-Server/extra/yassl/taocrypt/src/aestables.cpp' | |||
1516 | --- Percona-Server/extra/yassl/taocrypt/src/aestables.cpp 2012-02-10 14:33:27 +0000 | |||
1517 | +++ Percona-Server/extra/yassl/taocrypt/src/aestables.cpp 2013-06-23 08:01:44 +0000 | |||
1518 | @@ -1,5 +1,5 @@ | |||
1519 | 1 | /* | 1 | /* |
1521 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1522 | 3 | 3 | ||
1523 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1524 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1525 | 6 | 6 | ||
1526 | === modified file 'Percona-Server/extra/yassl/taocrypt/src/algebra.cpp' | |||
1527 | --- Percona-Server/extra/yassl/taocrypt/src/algebra.cpp 2012-02-13 12:44:54 +0000 | |||
1528 | +++ Percona-Server/extra/yassl/taocrypt/src/algebra.cpp 2013-06-23 08:01:44 +0000 | |||
1529 | @@ -1,5 +1,5 @@ | |||
1530 | 1 | /* | 1 | /* |
1532 | 2 | Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
1533 | 3 | 3 | ||
1534 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1535 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1536 | 6 | 6 | ||
1537 | === modified file 'Percona-Server/extra/yassl/taocrypt/src/arc4.cpp' | |||
1538 | --- Percona-Server/extra/yassl/taocrypt/src/arc4.cpp 2012-02-10 14:33:27 +0000 | |||
1539 | +++ Percona-Server/extra/yassl/taocrypt/src/arc4.cpp 2013-06-23 08:01:44 +0000 | |||
1540 | @@ -1,5 +1,5 @@ | |||
1541 | 1 | /* | 1 | /* |
1543 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1544 | 3 | 3 | ||
1545 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1546 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1547 | 6 | 6 | ||
1548 | === modified file 'Percona-Server/extra/yassl/taocrypt/src/blowfish.cpp' | |||
1549 | --- Percona-Server/extra/yassl/taocrypt/src/blowfish.cpp 2012-02-13 12:44:54 +0000 | |||
1550 | +++ Percona-Server/extra/yassl/taocrypt/src/blowfish.cpp 2013-06-23 08:01:44 +0000 | |||
1551 | @@ -1,5 +1,5 @@ | |||
1552 | 1 | /* | 1 | /* |
1554 | 2 | Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. |
1555 | 3 | 3 | ||
1556 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1557 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1558 | 6 | 6 | ||
1559 | === modified file 'Percona-Server/extra/yassl/taocrypt/src/coding.cpp' | |||
1560 | --- Percona-Server/extra/yassl/taocrypt/src/coding.cpp 2012-11-21 13:44:15 +0000 | |||
1561 | +++ Percona-Server/extra/yassl/taocrypt/src/coding.cpp 2013-06-23 08:01:44 +0000 | |||
1562 | @@ -1,5 +1,5 @@ | |||
1563 | 1 | /* | 1 | /* |
1565 | 2 | Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
1566 | 3 | 3 | ||
1567 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1568 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1569 | 6 | 6 | ||
1570 | === modified file 'Percona-Server/extra/yassl/taocrypt/src/dsa.cpp' | |||
1571 | --- Percona-Server/extra/yassl/taocrypt/src/dsa.cpp 2012-02-10 14:33:27 +0000 | |||
1572 | +++ Percona-Server/extra/yassl/taocrypt/src/dsa.cpp 2013-06-23 08:01:44 +0000 | |||
1573 | @@ -1,5 +1,5 @@ | |||
1574 | 1 | /* | 1 | /* |
1576 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1577 | 3 | 3 | ||
1578 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1579 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1580 | 6 | 6 | ||
1581 | === modified file 'Percona-Server/extra/yassl/taocrypt/src/hash.cpp' | |||
1582 | --- Percona-Server/extra/yassl/taocrypt/src/hash.cpp 2012-02-10 14:33:27 +0000 | |||
1583 | +++ Percona-Server/extra/yassl/taocrypt/src/hash.cpp 2013-06-23 08:01:44 +0000 | |||
1584 | @@ -1,5 +1,5 @@ | |||
1585 | 1 | /* | 1 | /* |
1587 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1588 | 3 | 3 | ||
1589 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1590 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1591 | 6 | 6 | ||
1592 | === modified file 'Percona-Server/extra/yassl/taocrypt/src/hc128.cpp' | |||
1593 | --- Percona-Server/extra/yassl/taocrypt/src/hc128.cpp 2012-02-10 14:33:27 +0000 | |||
1594 | +++ Percona-Server/extra/yassl/taocrypt/src/hc128.cpp 2013-06-23 08:01:44 +0000 | |||
1595 | @@ -1,5 +1,5 @@ | |||
1596 | 1 | /* | 1 | /* |
1598 | 2 | Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
1599 | 3 | 3 | ||
1600 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1601 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1602 | 6 | 6 | ||
1603 | === modified file 'Percona-Server/extra/yassl/taocrypt/src/make.bat' | |||
1604 | --- Percona-Server/extra/yassl/taocrypt/src/make.bat 2012-02-10 14:33:27 +0000 | |||
1605 | +++ Percona-Server/extra/yassl/taocrypt/src/make.bat 2013-06-23 08:01:44 +0000 | |||
1606 | @@ -1,4 +1,4 @@ | |||
1608 | 1 | REM Copyright (C) 2006, 2007 MySQL AB | 1 | REM Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. |
1609 | 2 | REM | 2 | REM |
1610 | 3 | REM This program is free software; you can redistribute it and/or modify | 3 | REM This program is free software; you can redistribute it and/or modify |
1611 | 4 | REM it under the terms of the GNU General Public License as published by | 4 | REM it under the terms of the GNU General Public License as published by |
1612 | 5 | 5 | ||
1613 | === modified file 'Percona-Server/extra/yassl/taocrypt/src/md4.cpp' | |||
1614 | --- Percona-Server/extra/yassl/taocrypt/src/md4.cpp 2012-02-10 14:33:27 +0000 | |||
1615 | +++ Percona-Server/extra/yassl/taocrypt/src/md4.cpp 2013-06-23 08:01:44 +0000 | |||
1616 | @@ -1,5 +1,5 @@ | |||
1617 | 1 | /* | 1 | /* |
1619 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1620 | 3 | 3 | ||
1621 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1622 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1623 | 6 | 6 | ||
1624 | === modified file 'Percona-Server/extra/yassl/taocrypt/src/md5.cpp' | |||
1625 | --- Percona-Server/extra/yassl/taocrypt/src/md5.cpp 2012-02-10 14:33:27 +0000 | |||
1626 | +++ Percona-Server/extra/yassl/taocrypt/src/md5.cpp 2013-06-23 08:01:44 +0000 | |||
1627 | @@ -1,5 +1,5 @@ | |||
1628 | 1 | /* | 1 | /* |
1630 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1631 | 3 | 3 | ||
1632 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1633 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1634 | 6 | 6 | ||
1635 | === modified file 'Percona-Server/extra/yassl/taocrypt/src/misc.cpp' | |||
1636 | --- Percona-Server/extra/yassl/taocrypt/src/misc.cpp 2012-02-13 12:44:54 +0000 | |||
1637 | +++ Percona-Server/extra/yassl/taocrypt/src/misc.cpp 2013-06-23 08:01:44 +0000 | |||
1638 | @@ -1,5 +1,5 @@ | |||
1639 | 1 | /* | 1 | /* |
1641 | 2 | Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
1642 | 3 | 3 | ||
1643 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1644 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1645 | 6 | 6 | ||
1646 | === modified file 'Percona-Server/extra/yassl/taocrypt/src/rabbit.cpp' | |||
1647 | --- Percona-Server/extra/yassl/taocrypt/src/rabbit.cpp 2012-02-10 14:33:27 +0000 | |||
1648 | +++ Percona-Server/extra/yassl/taocrypt/src/rabbit.cpp 2013-06-23 08:01:44 +0000 | |||
1649 | @@ -1,5 +1,5 @@ | |||
1650 | 1 | /* | 1 | /* |
1652 | 2 | Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
1653 | 3 | 3 | ||
1654 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1655 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1656 | 6 | 6 | ||
1657 | === modified file 'Percona-Server/extra/yassl/taocrypt/src/random.cpp' | |||
1658 | --- Percona-Server/extra/yassl/taocrypt/src/random.cpp 2012-02-13 12:44:54 +0000 | |||
1659 | +++ Percona-Server/extra/yassl/taocrypt/src/random.cpp 2013-06-23 08:01:44 +0000 | |||
1660 | @@ -1,5 +1,5 @@ | |||
1661 | 1 | /* | 1 | /* |
1663 | 2 | Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. |
1664 | 3 | 3 | ||
1665 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1666 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1667 | 6 | 6 | ||
1668 | === modified file 'Percona-Server/extra/yassl/taocrypt/src/ripemd.cpp' | |||
1669 | --- Percona-Server/extra/yassl/taocrypt/src/ripemd.cpp 2012-02-10 14:33:27 +0000 | |||
1670 | +++ Percona-Server/extra/yassl/taocrypt/src/ripemd.cpp 2013-06-23 08:01:44 +0000 | |||
1671 | @@ -1,5 +1,5 @@ | |||
1672 | 1 | /* | 1 | /* |
1674 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1675 | 3 | 3 | ||
1676 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1677 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1678 | 6 | 6 | ||
1679 | === modified file 'Percona-Server/extra/yassl/taocrypt/src/rsa.cpp' | |||
1680 | --- Percona-Server/extra/yassl/taocrypt/src/rsa.cpp 2012-02-10 14:33:27 +0000 | |||
1681 | +++ Percona-Server/extra/yassl/taocrypt/src/rsa.cpp 2013-06-23 08:01:44 +0000 | |||
1682 | @@ -1,5 +1,5 @@ | |||
1683 | 1 | /* | 1 | /* |
1685 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1686 | 3 | 3 | ||
1687 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1688 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1689 | 6 | 6 | ||
1690 | === modified file 'Percona-Server/extra/yassl/taocrypt/src/sha.cpp' | |||
1691 | --- Percona-Server/extra/yassl/taocrypt/src/sha.cpp 2012-02-10 14:33:27 +0000 | |||
1692 | +++ Percona-Server/extra/yassl/taocrypt/src/sha.cpp 2013-06-23 08:01:44 +0000 | |||
1693 | @@ -1,5 +1,5 @@ | |||
1694 | 1 | /* | 1 | /* |
1696 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1697 | 3 | 3 | ||
1698 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1699 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1700 | 6 | 6 | ||
1701 | === modified file 'Percona-Server/extra/yassl/taocrypt/src/template_instnt.cpp' | |||
1702 | --- Percona-Server/extra/yassl/taocrypt/src/template_instnt.cpp 2012-02-10 14:33:27 +0000 | |||
1703 | +++ Percona-Server/extra/yassl/taocrypt/src/template_instnt.cpp 2013-06-23 08:01:44 +0000 | |||
1704 | @@ -1,5 +1,5 @@ | |||
1705 | 1 | /* | 1 | /* |
1707 | 2 | Copyright (C) 2000-2007 MySQL AB | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1708 | 3 | 3 | ||
1709 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1710 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1711 | 6 | 6 | ||
1712 | === modified file 'Percona-Server/extra/yassl/taocrypt/src/twofish.cpp' | |||
1713 | --- Percona-Server/extra/yassl/taocrypt/src/twofish.cpp 2012-02-13 12:44:54 +0000 | |||
1714 | +++ Percona-Server/extra/yassl/taocrypt/src/twofish.cpp 2013-06-23 08:01:44 +0000 | |||
1715 | @@ -1,5 +1,5 @@ | |||
1716 | 1 | /* | 1 | /* |
1718 | 2 | Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. |
1719 | 3 | 3 | ||
1720 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1721 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1722 | 6 | 6 | ||
1723 | === modified file 'Percona-Server/extra/yassl/taocrypt/test/make.bat' | |||
1724 | --- Percona-Server/extra/yassl/taocrypt/test/make.bat 2012-02-10 14:33:27 +0000 | |||
1725 | +++ Percona-Server/extra/yassl/taocrypt/test/make.bat 2013-06-23 08:01:44 +0000 | |||
1726 | @@ -1,4 +1,4 @@ | |||
1728 | 1 | REM Copyright (C) 2006, 2007 MySQL AB | 1 | REM Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. |
1729 | 2 | REM | 2 | REM |
1730 | 3 | REM This program is free software; you can redistribute it and/or modify | 3 | REM This program is free software; you can redistribute it and/or modify |
1731 | 4 | REM it under the terms of the GNU General Public License as published by | 4 | REM it under the terms of the GNU General Public License as published by |
1732 | 5 | 5 | ||
1733 | === modified file 'Percona-Server/extra/yassl/taocrypt/test/memory.cpp' | |||
1734 | --- Percona-Server/extra/yassl/taocrypt/test/memory.cpp 2012-11-21 13:44:15 +0000 | |||
1735 | +++ Percona-Server/extra/yassl/taocrypt/test/memory.cpp 2013-06-23 08:01:44 +0000 | |||
1736 | @@ -1,5 +1,5 @@ | |||
1737 | 1 | /* | 1 | /* |
1739 | 2 | Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. |
1740 | 3 | 3 | ||
1741 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1742 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1743 | 6 | 6 | ||
1744 | === modified file 'Percona-Server/extra/yassl/taocrypt/test/test.cpp' | |||
1745 | --- Percona-Server/extra/yassl/taocrypt/test/test.cpp 2012-02-13 11:40:12 +0000 | |||
1746 | +++ Percona-Server/extra/yassl/taocrypt/test/test.cpp 2013-06-23 08:01:44 +0000 | |||
1747 | @@ -1,5 +1,5 @@ | |||
1748 | 1 | /* | 1 | /* |
1750 | 2 | Copyright (C) 2006, 2007 MySQL AB | 2 | Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. |
1751 | 3 | 3 | ||
1752 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1753 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1754 | 6 | 6 | ||
1755 | === modified file 'Percona-Server/extra/yassl/testsuite/make.bat' | |||
1756 | --- Percona-Server/extra/yassl/testsuite/make.bat 2012-02-10 14:33:27 +0000 | |||
1757 | +++ Percona-Server/extra/yassl/testsuite/make.bat 2013-06-23 08:01:44 +0000 | |||
1758 | @@ -1,4 +1,4 @@ | |||
1760 | 1 | REM Copyright (C) 2006, 2007 MySQL AB | 1 | REM Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. |
1761 | 2 | REM | 2 | REM |
1762 | 3 | REM This program is free software; you can redistribute it and/or modify | 3 | REM This program is free software; you can redistribute it and/or modify |
1763 | 4 | REM it under the terms of the GNU General Public License as published by | 4 | REM it under the terms of the GNU General Public License as published by |
1764 | 5 | 5 | ||
1765 | === modified file 'Percona-Server/extra/yassl/testsuite/test.hpp' | |||
1766 | --- Percona-Server/extra/yassl/testsuite/test.hpp 2012-02-13 12:44:54 +0000 | |||
1767 | +++ Percona-Server/extra/yassl/testsuite/test.hpp 2013-06-23 08:01:44 +0000 | |||
1768 | @@ -1,5 +1,5 @@ | |||
1769 | 1 | /* | 1 | /* |
1771 | 2 | Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. |
1772 | 3 | 3 | ||
1773 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1774 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1775 | 6 | 6 | ||
1776 | === modified file 'Percona-Server/extra/yassl/testsuite/testsuite.cpp' | |||
1777 | --- Percona-Server/extra/yassl/testsuite/testsuite.cpp 2012-02-13 11:40:12 +0000 | |||
1778 | +++ Percona-Server/extra/yassl/testsuite/testsuite.cpp 2013-06-23 08:01:44 +0000 | |||
1779 | @@ -1,5 +1,5 @@ | |||
1780 | 1 | /* | 1 | /* |
1782 | 2 | Copyright (C) 2006, 2007 MySQL AB | 2 | Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. |
1783 | 3 | 3 | ||
1784 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1785 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1786 | 6 | 6 | ||
1787 | === modified file 'Percona-Server/include/base64.h' | |||
1788 | --- Percona-Server/include/base64.h 2006-12-23 19:20:40 +0000 | |||
1789 | +++ Percona-Server/include/base64.h 2013-06-23 08:01:44 +0000 | |||
1790 | @@ -1,4 +1,5 @@ | |||
1792 | 1 | /* Copyright (C) 2003 MySQL AB | 1 | /* Copyright (c) 2003-2006 MySQL AB |
1793 | 2 | Use is subject to license terms | ||
1794 | 2 | 3 | ||
1795 | 3 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1796 | 4 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1797 | 5 | 6 | ||
1798 | === modified file 'Percona-Server/include/errmsg.h' | |||
1799 | --- Percona-Server/include/errmsg.h 2011-06-30 15:46:53 +0000 | |||
1800 | +++ Percona-Server/include/errmsg.h 2013-06-23 08:01:44 +0000 | |||
1801 | @@ -25,6 +25,7 @@ | |||
1802 | 25 | void init_client_errs(void); | 25 | void init_client_errs(void); |
1803 | 26 | void finish_client_errs(void); | 26 | void finish_client_errs(void); |
1804 | 27 | extern const char *client_errors[]; /* Error messages */ | 27 | extern const char *client_errors[]; /* Error messages */ |
1805 | 28 | extern const char **mysql_client_errors; /* Error messages */ | ||
1806 | 28 | #ifdef __cplusplus | 29 | #ifdef __cplusplus |
1807 | 29 | } | 30 | } |
1808 | 30 | #endif | 31 | #endif |
1809 | 31 | 32 | ||
1810 | === modified file 'Percona-Server/include/ft_global.h' | |||
1811 | --- Percona-Server/include/ft_global.h 2011-06-30 15:46:53 +0000 | |||
1812 | +++ Percona-Server/include/ft_global.h 2013-06-23 08:01:44 +0000 | |||
1813 | @@ -1,4 +1,4 @@ | |||
1815 | 1 | /* Copyright (c) 2000-2007 MySQL AB, 2009 Sun Microsystems, Inc. | 1 | /* Copyright (c) 2000-2005, 2007 MySQL AB, 2009 Sun Microsystems, Inc. |
1816 | 2 | Use is subject to license terms. | 2 | Use is subject to license terms. |
1817 | 3 | 3 | ||
1818 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1819 | 5 | 5 | ||
1820 | === modified file 'Percona-Server/include/m_ctype.h' | |||
1821 | --- Percona-Server/include/m_ctype.h 2012-02-16 09:48:16 +0000 | |||
1822 | +++ Percona-Server/include/m_ctype.h 2013-06-23 08:01:44 +0000 | |||
1823 | @@ -1,4 +1,4 @@ | |||
1825 | 1 | /* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. | 1 | /* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. |
1826 | 2 | 2 | ||
1827 | 3 | This program is free software; you can redistribute it and/or modify | 3 | This program is free software; you can redistribute it and/or modify |
1828 | 4 | it under the terms of the GNU General Public License as published by | 4 | it under the terms of the GNU General Public License as published by |
1829 | @@ -149,6 +149,8 @@ | |||
1830 | 149 | struct charset_info_st; | 149 | struct charset_info_st; |
1831 | 150 | 150 | ||
1832 | 151 | 151 | ||
1833 | 152 | extern int (*my_string_stack_guard)(int); | ||
1834 | 153 | |||
1835 | 152 | /* See strings/CHARSET_INFO.txt for information about this structure */ | 154 | /* See strings/CHARSET_INFO.txt for information about this structure */ |
1836 | 153 | typedef struct my_collation_handler_st | 155 | typedef struct my_collation_handler_st |
1837 | 154 | { | 156 | { |
1838 | 155 | 157 | ||
1839 | === modified file 'Percona-Server/include/m_string.h' | |||
1840 | --- Percona-Server/include/m_string.h 2013-02-24 13:36:00 +0000 | |||
1841 | +++ Percona-Server/include/m_string.h 2013-06-23 08:01:44 +0000 | |||
1842 | @@ -1,5 +1,5 @@ | |||
1843 | 1 | /* | 1 | /* |
1845 | 2 | Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1846 | 3 | 3 | ||
1847 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1848 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1849 | 6 | 6 | ||
1850 | === modified file 'Percona-Server/include/my_base.h' | |||
1851 | --- Percona-Server/include/my_base.h 2012-03-01 08:27:43 +0000 | |||
1852 | +++ Percona-Server/include/my_base.h 2013-06-23 08:01:44 +0000 | |||
1853 | @@ -319,6 +319,7 @@ | |||
1854 | 319 | #define HA_CREATE_PAGE_CHECKSUM 32 | 319 | #define HA_CREATE_PAGE_CHECKSUM 32 |
1855 | 320 | #define HA_CREATE_DELAY_KEY_WRITE 64 | 320 | #define HA_CREATE_DELAY_KEY_WRITE 64 |
1856 | 321 | #define HA_CREATE_RELIES_ON_SQL_LAYER 128 | 321 | #define HA_CREATE_RELIES_ON_SQL_LAYER 128 |
1857 | 322 | #define HA_CREATE_INTERNAL_TABLE 256 | ||
1858 | 322 | 323 | ||
1859 | 323 | /* | 324 | /* |
1860 | 324 | The following flags (OR-ed) are passed to handler::info() method. | 325 | The following flags (OR-ed) are passed to handler::info() method. |
1861 | 325 | 326 | ||
1862 | === modified file 'Percona-Server/include/my_md5.h' | |||
1863 | --- Percona-Server/include/my_md5.h 2009-09-23 21:32:31 +0000 | |||
1864 | +++ Percona-Server/include/my_md5.h 2013-06-23 08:01:44 +0000 | |||
1865 | @@ -1,7 +1,8 @@ | |||
1866 | 1 | #ifndef MY_MD5_INCLUDED | 1 | #ifndef MY_MD5_INCLUDED |
1867 | 2 | #define MY_MD5_INCLUDED | 2 | #define MY_MD5_INCLUDED |
1868 | 3 | 3 | ||
1870 | 4 | /* Copyright (C) 2000 MySQL AB | 4 | /* Copyright (c) 2000, 2001, 2007 MySQL AB, 2009 Sun Microsystems, Inc. |
1871 | 5 | Use is subject to license terms | ||
1872 | 5 | 6 | ||
1873 | 6 | This program is free software; you can redistribute it and/or modify | 7 | This program is free software; you can redistribute it and/or modify |
1874 | 7 | it under the terms of the GNU General Public License as published by | 8 | it under the terms of the GNU General Public License as published by |
1875 | 8 | 9 | ||
1876 | === modified file 'Percona-Server/include/my_sys.h' | |||
1877 | --- Percona-Server/include/my_sys.h 2013-03-21 16:54:18 +0000 | |||
1878 | +++ Percona-Server/include/my_sys.h 2013-06-23 08:01:44 +0000 | |||
1879 | @@ -1,4 +1,4 @@ | |||
1881 | 1 | /* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. | 1 | /* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. |
1882 | 2 | 2 | ||
1883 | 3 | This program is free software; you can redistribute it and/or modify | 3 | This program is free software; you can redistribute it and/or modify |
1884 | 4 | it under the terms of the GNU General Public License as published by | 4 | it under the terms of the GNU General Public License as published by |
1885 | 5 | 5 | ||
1886 | === modified file 'Percona-Server/include/my_user.h' | |||
1887 | --- Percona-Server/include/my_user.h 2007-05-10 09:59:39 +0000 | |||
1888 | +++ Percona-Server/include/my_user.h 2013-06-23 08:01:44 +0000 | |||
1889 | @@ -1,4 +1,5 @@ | |||
1891 | 1 | /* Copyright (C) 2005 MySQL AB | 1 | /* Copyright (c) 2005-2007 MySQL AB |
1892 | 2 | Use is subject to license terms | ||
1893 | 2 | 3 | ||
1894 | 3 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1895 | 4 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1896 | 5 | 6 | ||
1897 | === modified file 'Percona-Server/include/my_xml.h' | |||
1898 | --- Percona-Server/include/my_xml.h 2007-05-10 09:59:39 +0000 | |||
1899 | +++ Percona-Server/include/my_xml.h 2013-06-23 08:01:44 +0000 | |||
1900 | @@ -1,4 +1,5 @@ | |||
1902 | 1 | /* Copyright (C) 2000 MySQL AB | 1 | /* Copyright (c) 2000, 2002, 2003, 2005, 2007 MySQL AB |
1903 | 2 | Use is subject to license terms | ||
1904 | 2 | 3 | ||
1905 | 3 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1906 | 4 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1907 | 5 | 6 | ||
1908 | === modified file 'Percona-Server/include/myisampack.h' | |||
1909 | --- Percona-Server/include/myisampack.h 2011-06-30 15:46:53 +0000 | |||
1910 | +++ Percona-Server/include/myisampack.h 2013-06-23 08:01:44 +0000 | |||
1911 | @@ -1,7 +1,7 @@ | |||
1912 | 1 | #ifndef MYISAMPACK_INCLUDED | 1 | #ifndef MYISAMPACK_INCLUDED |
1913 | 2 | #define MYISAMPACK_INCLUDED | 2 | #define MYISAMPACK_INCLUDED |
1914 | 3 | 3 | ||
1916 | 4 | /* Copyright (c) 2000-2002, 2004, 2006 MySQL AB, 2009 Sun Microsystems, Inc. | 4 | /* Copyright (c) 2000-2002, 2004 MySQL AB, 2009 Sun Microsystems, Inc. |
1917 | 5 | Use is subject to license terms. | 5 | Use is subject to license terms. |
1918 | 6 | 6 | ||
1919 | 7 | This program is free software; you can redistribute it and/or modify | 7 | This program is free software; you can redistribute it and/or modify |
1920 | 8 | 8 | ||
1921 | === modified file 'Percona-Server/include/mysql.h' | |||
1922 | --- Percona-Server/include/mysql.h 2012-07-05 06:55:20 +0000 | |||
1923 | +++ Percona-Server/include/mysql.h 2013-06-23 08:01:44 +0000 | |||
1924 | @@ -1,4 +1,4 @@ | |||
1926 | 1 | /* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. | 1 | /* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
1927 | 2 | 2 | ||
1928 | 3 | This program is free software; you can redistribute it and/or modify | 3 | This program is free software; you can redistribute it and/or modify |
1929 | 4 | it under the terms of the GNU General Public License as published by | 4 | it under the terms of the GNU General Public License as published by |
1930 | 5 | 5 | ||
1931 | === modified file 'Percona-Server/include/mysql/service_my_snprintf.h' | |||
1932 | --- Percona-Server/include/mysql/service_my_snprintf.h 2013-03-21 16:54:18 +0000 | |||
1933 | +++ Percona-Server/include/mysql/service_my_snprintf.h 2013-06-23 08:01:44 +0000 | |||
1934 | @@ -1,5 +1,5 @@ | |||
1935 | 1 | #ifndef MYSQL_SERVICE_MY_SNPRINTF_INCLUDED | 1 | #ifndef MYSQL_SERVICE_MY_SNPRINTF_INCLUDED |
1937 | 2 | /* Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. | 2 | /* Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. |
1938 | 3 | 3 | ||
1939 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1940 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1941 | 6 | 6 | ||
1942 | === modified file 'Percona-Server/include/mysql/thread_pool_priv.h' | |||
1943 | --- Percona-Server/include/mysql/thread_pool_priv.h 2013-03-21 16:54:18 +0000 | |||
1944 | +++ Percona-Server/include/mysql/thread_pool_priv.h 2013-06-23 08:01:44 +0000 | |||
1945 | @@ -1,5 +1,5 @@ | |||
1946 | 1 | /* | 1 | /* |
1948 | 2 | Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. | 2 | Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. |
1949 | 3 | 3 | ||
1950 | 4 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1951 | 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1952 | 6 | 6 | ||
1953 | === modified file 'Percona-Server/include/mysql_time.h' | |||
1954 | --- Percona-Server/include/mysql_time.h 2006-12-31 00:02:27 +0000 | |||
1955 | +++ Percona-Server/include/mysql_time.h 2013-06-23 08:01:44 +0000 | |||
1956 | @@ -1,4 +1,5 @@ | |||
1958 | 1 | /* Copyright (C) 2004 MySQL AB | 1 | /* Copyright (c) 2004, 2006 MySQL AB |
1959 | 2 | Use is subject to license terms | ||
1960 | 2 | 3 | ||
1961 | 3 | This program is free software; you can redistribute it and/or modify | 4 | This program is free software; you can redistribute it and/or modify |
1962 | 4 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
1963 | 5 | 6 | ||
1964 | === modified file 'Percona-Server/include/mysql_version.h.in' | |||
1965 | --- Percona-Server/include/mysql_version.h.in 2007-09-13 14:19:46 +0000 | |||
1966 | +++ Percona-Server/include/mysql_version.h.in 2013-06-23 08:01:44 +0000 | |||
1967 | @@ -1,4 +1,5 @@ | |||
1969 | 1 | /* Copyright Abandoned 1996, 1999, 2001 MySQL AB | 1 | /* Copyright (c) 1996, 1999-2004, 2007 MySQL AB |
1970 | 2 | Use is subject to license terms | ||
1971 | 2 | This file is public domain and comes with NO WARRANTY of any kind */ | 3 | This file is public domain and comes with NO WARRANTY of any kind */ |
1972 | 3 | 4 | ||
1973 | 4 | /* Version numbers for protocol & mysqld */ | 5 | /* Version numbers for protocol & mysqld */ |
1974 | 5 | 6 | ||
1975 | === modified file 'Percona-Server/include/welcome_copyright_notice.h' | |||
1976 | --- Percona-Server/include/welcome_copyright_notice.h 2013-03-21 16:54:18 +0000 | |||
1977 | +++ Percona-Server/include/welcome_copyright_notice.h 2013-06-23 08:01:44 +0000 | |||
1978 | @@ -1,4 +1,4 @@ | |||
1980 | 1 | /* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. | 1 | /* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. |
1981 | 2 | 2 | ||
1982 | 3 | This program is free software; you can redistribute it and/or modify | 3 | This program is free software; you can redistribute it and/or modify |
1983 | 4 | it under the terms of the GNU General Public License as published by | 4 | it under the terms of the GNU General Public License as published by |
1984 | 5 | 5 | ||
1985 | === modified file 'Percona-Server/libmysql/CMakeLists.txt' | |||
1986 | --- Percona-Server/libmysql/CMakeLists.txt 2012-02-16 09:48:16 +0000 | |||
1987 | +++ Percona-Server/libmysql/CMakeLists.txt 2013-06-23 08:01:44 +0000 | |||
1988 | @@ -208,8 +208,11 @@ | |||
1989 | 208 | IF(NOT libmysql_link_flag) | 208 | IF(NOT libmysql_link_flag) |
1990 | 209 | SET(libmysql_link_flags) | 209 | SET(libmysql_link_flags) |
1991 | 210 | ENDIF() | 210 | ENDIF() |
1994 | 211 | SET_TARGET_PROPERTIES(libmysql PROPERTIES LINK_FLAGS | 211 | IF(INSTALL_LAYOUT STREQUAL "RPM") |
1995 | 212 | "${libmysql_link_flags} ${LINK_FLAG_NO_UNDEFINED}") | 212 | SET_TARGET_PROPERTIES(libmysql PROPERTIES LINK_FLAGS "${libmysql_link_flags} -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/libmysql.map ${LINK_FLAG_NO_UNDEFINED}") |
1996 | 213 | ELSE() | ||
1997 | 214 | SET_TARGET_PROPERTIES(libmysql PROPERTIES LINK_FLAGS "${libmysql_link_flags} ${LINK_FLAG_NO_UNDEFINED}") | ||
1998 | 215 | ENDIF(INSTALL_LAYOUT STREQUAL "RPM") | ||
1999 | 213 | ENDIF() | 216 | ENDIF() |
2000 | 214 | # clean direct output needs to be set several targets have the same name | 217 | # clean direct output needs to be set several targets have the same name |
2001 | 215 | #(mysqlclient in this case) | 218 | #(mysqlclient in this case) |
2002 | 216 | 219 | ||
2003 | === modified file 'Percona-Server/libmysql/errmsg.c' | |||
2004 | --- Percona-Server/libmysql/errmsg.c 2011-06-30 15:46:53 +0000 | |||
2005 | +++ Percona-Server/libmysql/errmsg.c 2013-06-23 08:01:44 +0000 | |||
2006 | @@ -23,6 +23,7 @@ | |||
2007 | 23 | #include <my_sys.h> | 23 | #include <my_sys.h> |
2008 | 24 | #include "errmsg.h" | 24 | #include "errmsg.h" |
2009 | 25 | 25 | ||
2010 | 26 | const char **mysql_client_errors = client_errors; | ||
2011 | 26 | const char *client_errors[]= | 27 | const char *client_errors[]= |
2012 | 27 | { | 28 | { |
2013 | 28 | "Unknown MySQL error", | 29 | "Unknown MySQL error", |
2014 | 29 | 30 | ||
2015 | === modified file 'Percona-Server/libmysql/libmysql.c' | |||
2016 | --- Percona-Server/libmysql/libmysql.c 2013-03-22 03:29:56 +0000 | |||
2017 | +++ Percona-Server/libmysql/libmysql.c 2013-06-23 08:01:44 +0000 | |||
2018 | @@ -2107,7 +2107,14 @@ | |||
2019 | 2107 | DBUG_RETURN(1); | 2107 | DBUG_RETURN(1); |
2020 | 2108 | } | 2108 | } |
2021 | 2109 | 2109 | ||
2023 | 2110 | net_clear(net, 1); /* Sets net->write_pos */ | 2110 | if (net->vio) |
2024 | 2111 | net_clear(net, 1); /* Sets net->write_pos */ | ||
2025 | 2112 | else | ||
2026 | 2113 | { | ||
2027 | 2114 | set_stmt_errmsg(stmt, net); | ||
2028 | 2115 | DBUG_RETURN(1); | ||
2029 | 2116 | } | ||
2030 | 2117 | |||
2031 | 2111 | /* Reserve place for null-marker bytes */ | 2118 | /* Reserve place for null-marker bytes */ |
2032 | 2112 | null_count= (stmt->param_count+7) /8; | 2119 | null_count= (stmt->param_count+7) /8; |
2033 | 2113 | if (my_realloc_str(net, null_count + 1)) | 2120 | if (my_realloc_str(net, null_count + 1)) |
2034 | 2114 | 2121 | ||
2035 | === added file 'Percona-Server/libmysql/libmysql.map' | |||
2036 | --- Percona-Server/libmysql/libmysql.map 1970-01-01 00:00:00 +0000 | |||
2037 | +++ Percona-Server/libmysql/libmysql.map 2013-06-23 08:01:44 +0000 | |||
2038 | @@ -0,0 +1,146 @@ | |||
2039 | 1 | # symbols exported from mysql 5.1 | ||
2040 | 2 | libmysqlclient_16 { | ||
2041 | 3 | global: | ||
2042 | 4 | _fini; | ||
2043 | 5 | _init; | ||
2044 | 6 | my_init; | ||
2045 | 7 | myodbc_remove_escape; | ||
2046 | 8 | mysql_affected_rows; | ||
2047 | 9 | mysql_autocommit; | ||
2048 | 10 | mysql_change_user; | ||
2049 | 11 | mysql_character_set_name; | ||
2050 | 12 | mysql_close; | ||
2051 | 13 | mysql_commit; | ||
2052 | 14 | mysql_data_seek; | ||
2053 | 15 | mysql_debug; | ||
2054 | 16 | mysql_dump_debug_info; | ||
2055 | 17 | mysql_embedded; | ||
2056 | 18 | mysql_eof; | ||
2057 | 19 | mysql_errno; | ||
2058 | 20 | mysql_error; | ||
2059 | 21 | mysql_escape_string; | ||
2060 | 22 | mysql_fetch_field; | ||
2061 | 23 | mysql_fetch_field_direct; | ||
2062 | 24 | mysql_fetch_fields; | ||
2063 | 25 | mysql_fetch_lengths; | ||
2064 | 26 | mysql_fetch_row; | ||
2065 | 27 | mysql_field_count; | ||
2066 | 28 | mysql_field_seek; | ||
2067 | 29 | mysql_field_tell; | ||
2068 | 30 | mysql_free_result; | ||
2069 | 31 | mysql_get_character_set_info; | ||
2070 | 32 | mysql_get_client_info; | ||
2071 | 33 | mysql_get_client_version; | ||
2072 | 34 | mysql_get_host_info; | ||
2073 | 35 | mysql_get_parameters; | ||
2074 | 36 | mysql_get_proto_info; | ||
2075 | 37 | mysql_get_server_info; | ||
2076 | 38 | mysql_get_server_version; | ||
2077 | 39 | mysql_get_ssl_cipher; | ||
2078 | 40 | mysql_hex_string; | ||
2079 | 41 | mysql_info; | ||
2080 | 42 | mysql_init; | ||
2081 | 43 | mysql_insert_id; | ||
2082 | 44 | mysql_kill; | ||
2083 | 45 | mysql_list_dbs; | ||
2084 | 46 | mysql_list_fields; | ||
2085 | 47 | mysql_list_processes; | ||
2086 | 48 | mysql_list_tables; | ||
2087 | 49 | mysql_more_results; | ||
2088 | 50 | mysql_next_result; | ||
2089 | 51 | mysql_num_fields; | ||
2090 | 52 | mysql_num_rows; | ||
2091 | 53 | mysql_options; | ||
2092 | 54 | mysql_ping; | ||
2093 | 55 | mysql_query; | ||
2094 | 56 | mysql_read_query_result; | ||
2095 | 57 | mysql_real_connect; | ||
2096 | 58 | mysql_real_escape_string; | ||
2097 | 59 | mysql_real_query; | ||
2098 | 60 | mysql_refresh; | ||
2099 | 61 | mysql_rollback; | ||
2100 | 62 | mysql_row_seek; | ||
2101 | 63 | mysql_row_tell; | ||
2102 | 64 | mysql_select_db; | ||
2103 | 65 | mysql_send_query; | ||
2104 | 66 | mysql_server_end; | ||
2105 | 67 | mysql_server_init; | ||
2106 | 68 | mysql_set_character_set; | ||
2107 | 69 | mysql_set_local_infile_default; | ||
2108 | 70 | mysql_set_local_infile_handler; | ||
2109 | 71 | mysql_set_server_option; | ||
2110 | 72 | mysql_shutdown; | ||
2111 | 73 | mysql_sqlstate; | ||
2112 | 74 | mysql_ssl_set; | ||
2113 | 75 | mysql_stat; | ||
2114 | 76 | mysql_stmt_affected_rows; | ||
2115 | 77 | mysql_stmt_attr_get; | ||
2116 | 78 | mysql_stmt_attr_set; | ||
2117 | 79 | mysql_stmt_bind_param; | ||
2118 | 80 | mysql_stmt_bind_result; | ||
2119 | 81 | mysql_stmt_close; | ||
2120 | 82 | mysql_stmt_data_seek; | ||
2121 | 83 | mysql_stmt_errno; | ||
2122 | 84 | mysql_stmt_error; | ||
2123 | 85 | mysql_stmt_execute; | ||
2124 | 86 | mysql_stmt_fetch; | ||
2125 | 87 | mysql_stmt_fetch_column; | ||
2126 | 88 | mysql_stmt_field_count; | ||
2127 | 89 | mysql_stmt_free_result; | ||
2128 | 90 | mysql_stmt_init; | ||
2129 | 91 | mysql_stmt_insert_id; | ||
2130 | 92 | mysql_stmt_num_rows; | ||
2131 | 93 | mysql_stmt_param_count; | ||
2132 | 94 | mysql_stmt_param_metadata; | ||
2133 | 95 | mysql_stmt_prepare; | ||
2134 | 96 | mysql_stmt_reset; | ||
2135 | 97 | mysql_stmt_result_metadata; | ||
2136 | 98 | mysql_stmt_row_seek; | ||
2137 | 99 | mysql_stmt_row_tell; | ||
2138 | 100 | mysql_stmt_send_long_data; | ||
2139 | 101 | mysql_stmt_sqlstate; | ||
2140 | 102 | mysql_stmt_store_result; | ||
2141 | 103 | mysql_store_result; | ||
2142 | 104 | mysql_thread_end; | ||
2143 | 105 | mysql_thread_id; | ||
2144 | 106 | mysql_thread_init; | ||
2145 | 107 | mysql_thread_safe; | ||
2146 | 108 | mysql_use_result; | ||
2147 | 109 | mysql_warning_count; | ||
2148 | 110 | # These are documented in Paul DuBois' MySQL book, so we treat them as part | ||
2149 | 111 | # of the de-facto API. | ||
2150 | 112 | free_defaults; | ||
2151 | 113 | handle_options; | ||
2152 | 114 | load_defaults; | ||
2153 | 115 | my_print_help; | ||
2154 | 116 | # This isn't really documented anywhere, but it seems to be part of the | ||
2155 | 117 | # de-facto API as well. We're not going to export the deprecated version | ||
2156 | 118 | # make_scrambled_password, however. | ||
2157 | 119 | my_make_scrambled_password; | ||
2158 | 120 | local: | ||
2159 | 121 | *; | ||
2160 | 122 | }; | ||
2161 | 123 | # symbols added in mysql 5.5 | ||
2162 | 124 | libmysqlclient_18 { | ||
2163 | 125 | global: | ||
2164 | 126 | mysql_client_find_plugin; | ||
2165 | 127 | mysql_client_register_plugin; | ||
2166 | 128 | mysql_load_plugin; | ||
2167 | 129 | mysql_load_plugin_v; | ||
2168 | 130 | mysql_plugin_options; | ||
2169 | 131 | mysql_stmt_next_result; | ||
2170 | 132 | # | ||
2171 | 133 | # Ideally the following symbols wouldn't be exported, but various applications | ||
2172 | 134 | # require them. We limit the namespace damage by prefixing mysql_ | ||
2173 | 135 | # (see mysql-dubious-exports.patch), which means the symbols are not present | ||
2174 | 136 | # in libmysqlclient_16. | ||
2175 | 137 | # | ||
2176 | 138 | # mysql-connector-odbc requires these | ||
2177 | 139 | mysql_default_charset_info; | ||
2178 | 140 | mysql_get_charset; | ||
2179 | 141 | mysql_get_charset_by_csname; | ||
2180 | 142 | mysql_net_realloc; | ||
2181 | 143 | # PHP's mysqli.so requires this (via the ER() macro) | ||
2182 | 144 | client_errors; | ||
2183 | 145 | mysql_client_errors; | ||
2184 | 146 | }; | ||
2185 | 0 | 147 | ||
2186 | === modified file 'Percona-Server/mysql-test/collections/default.experimental' | |||
2187 | --- Percona-Server/mysql-test/collections/default.experimental 2013-03-21 16:54:18 +0000 | |||
2188 | +++ Percona-Server/mysql-test/collections/default.experimental 2013-06-23 08:01:44 +0000 | |||
2189 | @@ -6,6 +6,7 @@ | |||
2190 | 6 | funcs_1.charset_collation_1 # depends on compile-time decisions | 6 | funcs_1.charset_collation_1 # depends on compile-time decisions |
2191 | 7 | 7 | ||
2192 | 8 | main.func_math @freebsd # Bug#11751977 2010-05-04 alik main.func_math fails on FreeBSD in PB2 | 8 | main.func_math @freebsd # Bug#11751977 2010-05-04 alik main.func_math fails on FreeBSD in PB2 |
2193 | 9 | main.kill @solaris # Bug#16064876 2013-01-02 prthirum main.kill fails on sol10 sparc64 | ||
2194 | 9 | main.lock_multi_bug38499 # Bug#11755645 2009-09-19 alik main.lock_multi_bug38499 times out sporadically | 10 | main.lock_multi_bug38499 # Bug#11755645 2009-09-19 alik main.lock_multi_bug38499 times out sporadically |
2195 | 10 | main.outfile_loaddata @solaris # Bug#11755168 2010-01-20 alik Test "outfile_loaddata" fails (reproducible) | 11 | main.outfile_loaddata @solaris # Bug#11755168 2010-01-20 alik Test "outfile_loaddata" fails (reproducible) |
2196 | 11 | main.signal_demo3 @solaris # Bug#11753919 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun | 12 | main.signal_demo3 @solaris # Bug#11753919 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun |
2197 | 12 | 13 | ||
2198 | === modified file 'Percona-Server/mysql-test/include/get_relay_log_pos.inc' | |||
2199 | --- Percona-Server/mysql-test/include/get_relay_log_pos.inc 2010-10-21 07:37:10 +0000 | |||
2200 | +++ Percona-Server/mysql-test/include/get_relay_log_pos.inc 2013-06-23 08:01:44 +0000 | |||
2201 | @@ -40,7 +40,6 @@ | |||
2202 | 40 | # '# .... end_log_pos 46' | 40 | # '# .... end_log_pos 46' |
2203 | 41 | eval LOAD DATA LOCAL INFILE '$_tmp_file' INTO TABLE mysqlbinlog_events | 41 | eval LOAD DATA LOCAL INFILE '$_tmp_file' INTO TABLE mysqlbinlog_events |
2204 | 42 | LINES STARTING BY '#' (c2) SET c1 = NULL; | 42 | LINES STARTING BY '#' (c2) SET c1 = NULL; |
2205 | 43 | --enable_warnings | ||
2206 | 44 | 43 | ||
2207 | 45 | # Event pos in relay log file is inserted into table events_at | 44 | # Event pos in relay log file is inserted into table events_at |
2208 | 46 | CREATE TEMPORARY TABLE events_at(c1 INT AUTO_INCREMENT KEY, c2 varchar(256)) | 45 | CREATE TEMPORARY TABLE events_at(c1 INT AUTO_INCREMENT KEY, c2 varchar(256)) |
2209 | @@ -49,6 +48,7 @@ | |||
2210 | 49 | # Event pos in master log file is inserted into table events_pos | 48 | # Event pos in master log file is inserted into table events_pos |
2211 | 50 | CREATE TEMPORARY TABLE events_pos(c1 INT AUTO_INCREMENT KEY, c2 varchar(256)) | 49 | CREATE TEMPORARY TABLE events_pos(c1 INT AUTO_INCREMENT KEY, c2 varchar(256)) |
2212 | 51 | SELECT c2 FROM mysqlbinlog_events WHERE c2 LIKE '% end_log_pos %' ORDER BY c1; | 50 | SELECT c2 FROM mysqlbinlog_events WHERE c2 LIKE '% end_log_pos %' ORDER BY c1; |
2213 | 51 | --enable_warnings | ||
2214 | 52 | 52 | ||
2215 | 53 | # events_at events_pos | 53 | # events_at events_pos |
2216 | 54 | # c1------c2-------------------------- c1------c2------------------------ | 54 | # c1------c2-------------------------- c1------c2------------------------ |
2217 | 55 | 55 | ||
2218 | === modified file 'Percona-Server/mysql-test/include/rpl_init.inc' | |||
2219 | --- Percona-Server/mysql-test/include/rpl_init.inc 2010-12-20 14:15:01 +0000 | |||
2220 | +++ Percona-Server/mysql-test/include/rpl_init.inc 2013-06-23 08:01:44 +0000 | |||
2221 | @@ -7,7 +7,6 @@ | |||
2222 | 7 | # well as extra connections server_1_1, server_2_1, ..., | 7 | # well as extra connections server_1_1, server_2_1, ..., |
2223 | 8 | # server_N_1. server_I and server_I_1 are connections to the same | 8 | # server_N_1. server_I and server_I_1 are connections to the same |
2224 | 9 | # server. | 9 | # server. |
2225 | 10 | # - Sets up @@auto_increment_increment and @@auto_increment_increment. | ||
2226 | 11 | # - Verifies that @@server_id of all servers are different. | 10 | # - Verifies that @@server_id of all servers are different. |
2227 | 12 | # - Calls RESET MASTER, RESET SLAVE, USE test, CHANGE MASTER, START SLAVE. | 11 | # - Calls RESET MASTER, RESET SLAVE, USE test, CHANGE MASTER, START SLAVE. |
2228 | 13 | # - Sets the connection to server_1 before exiting. | 12 | # - Sets the connection to server_1 before exiting. |
2229 | @@ -179,8 +178,6 @@ | |||
2230 | 179 | RESET MASTER; | 178 | RESET MASTER; |
2231 | 180 | RESET SLAVE; | 179 | RESET SLAVE; |
2232 | 181 | } | 180 | } |
2233 | 182 | eval SET auto_increment_increment= $rpl_server_count; | ||
2234 | 183 | eval SET auto_increment_offset= $_rpl_server; | ||
2235 | 184 | 181 | ||
2236 | 185 | --dec $_rpl_server | 182 | --dec $_rpl_server |
2237 | 186 | } | 183 | } |
2238 | 187 | 184 | ||
2239 | === modified file 'Percona-Server/mysql-test/mysql-test-run.pl' | |||
2240 | --- Percona-Server/mysql-test/mysql-test-run.pl 2013-03-21 16:54:18 +0000 | |||
2241 | +++ Percona-Server/mysql-test/mysql-test-run.pl 2013-06-23 08:01:44 +0000 | |||
2242 | @@ -700,9 +700,11 @@ | |||
2243 | 700 | mtr_report("\nRetrying test $tname, ". | 700 | mtr_report("\nRetrying test $tname, ". |
2244 | 701 | "attempt($retries/$opt_retry)...\n"); | 701 | "attempt($retries/$opt_retry)...\n"); |
2245 | 702 | #saving the log file as filename.failed in case of retry | 702 | #saving the log file as filename.failed in case of retry |
2249 | 703 | my $worker_logdir= $result->{savedir}; | 703 | if ( $result->is_failed() ) { |
2250 | 704 | my $log_file_name=dirname($worker_logdir)."/".$result->{shortname}.".log"; | 704 | my $worker_logdir= $result->{savedir}; |
2251 | 705 | rename $log_file_name,$log_file_name.".failed"; | 705 | my $log_file_name=dirname($worker_logdir)."/".$result->{shortname}.".log"; |
2252 | 706 | rename $log_file_name,$log_file_name.".failed"; | ||
2253 | 707 | } | ||
2254 | 706 | delete($result->{result}); | 708 | delete($result->{result}); |
2255 | 707 | $result->{retries}= $retries+1; | 709 | $result->{retries}= $retries+1; |
2256 | 708 | $result->write_test($sock, 'TESTCASE'); | 710 | $result->write_test($sock, 'TESTCASE'); |
2257 | @@ -3844,6 +3846,7 @@ | |||
2258 | 3844 | 3846 | ||
2259 | 3845 | sub run_testcase ($) { | 3847 | sub run_testcase ($) { |
2260 | 3846 | my $tinfo= shift; | 3848 | my $tinfo= shift; |
2261 | 3849 | my $print_freq=20; | ||
2262 | 3847 | 3850 | ||
2263 | 3848 | mtr_verbose("Running test:", $tinfo->{name}); | 3851 | mtr_verbose("Running test:", $tinfo->{name}); |
2264 | 3849 | resfile_report_test($tinfo) if $opt_resfile; | 3852 | resfile_report_test($tinfo) if $opt_resfile; |
2265 | @@ -4003,6 +4006,7 @@ | |||
2266 | 4003 | my $test= start_mysqltest($tinfo); | 4006 | my $test= start_mysqltest($tinfo); |
2267 | 4004 | # Set only when we have to keep waiting after expectedly died server | 4007 | # Set only when we have to keep waiting after expectedly died server |
2268 | 4005 | my $keep_waiting_proc = 0; | 4008 | my $keep_waiting_proc = 0; |
2269 | 4009 | my $print_timeout= start_timer($print_freq * 60); | ||
2270 | 4006 | 4010 | ||
2271 | 4007 | while (1) | 4011 | while (1) |
2272 | 4008 | { | 4012 | { |
2273 | @@ -4027,7 +4031,22 @@ | |||
2274 | 4027 | } | 4031 | } |
2275 | 4028 | if (! $keep_waiting_proc) | 4032 | if (! $keep_waiting_proc) |
2276 | 4029 | { | 4033 | { |
2278 | 4030 | $proc= My::SafeProcess->wait_any_timeout($test_timeout); | 4034 | if($test_timeout > $print_timeout) |
2279 | 4035 | { | ||
2280 | 4036 | $proc= My::SafeProcess->wait_any_timeout($print_timeout); | ||
2281 | 4037 | if ( $proc->{timeout} ) | ||
2282 | 4038 | { | ||
2283 | 4039 | #print out that the test is still on | ||
2284 | 4040 | mtr_print("Test still running: $tinfo->{name}"); | ||
2285 | 4041 | #reset the timer | ||
2286 | 4042 | $print_timeout= start_timer($print_freq * 60); | ||
2287 | 4043 | next; | ||
2288 | 4044 | } | ||
2289 | 4045 | } | ||
2290 | 4046 | else | ||
2291 | 4047 | { | ||
2292 | 4048 | $proc= My::SafeProcess->wait_any_timeout($test_timeout); | ||
2293 | 4049 | } | ||
2294 | 4031 | } | 4050 | } |
2295 | 4032 | 4051 | ||
2296 | 4033 | # Will be restored if we need to keep waiting | 4052 | # Will be restored if we need to keep waiting |
2297 | 4034 | 4053 | ||
2298 | === modified file 'Percona-Server/mysql-test/r/cast.result' | |||
2299 | --- Percona-Server/mysql-test/r/cast.result 2012-02-22 10:20:52 +0000 | |||
2300 | +++ Percona-Server/mysql-test/r/cast.result 2013-06-23 08:01:44 +0000 | |||
2301 | @@ -477,4 +477,22 @@ | |||
2302 | 477 | AND CAST(a AS BINARY)=x'65736D697468'; | 477 | AND CAST(a AS BINARY)=x'65736D697468'; |
2303 | 478 | a | 478 | a |
2304 | 479 | DROP TABLE t1; | 479 | DROP TABLE t1; |
2305 | 480 | # | ||
2306 | 481 | # Bug#13581962 HIGH MEMORY USAGE ATTEMPT, THEN CRASH WITH | ||
2307 | 482 | # LONGTEXT, UNION, USER VARIABLE | ||
2308 | 483 | # Bug#14096619 UNABLE TO RESTORE DATABASE DUMP | ||
2309 | 484 | # | ||
2310 | 485 | CREATE TABLE t1 AS SELECT CONCAT(CAST(REPEAT('9', 1000) AS SIGNED)), | ||
2311 | 486 | CONCAT(CAST(REPEAT('9', 1000) AS UNSIGNED)); | ||
2312 | 487 | Warnings: | ||
2313 | 488 | Warning 1292 Truncated incorrect INTEGER value: '99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999' | ||
2314 | 489 | Warning 1292 Truncated incorrect INTEGER value: '99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999' | ||
2315 | 490 | SHOW CREATE TABLE t1; | ||
2316 | 491 | Table Create Table | ||
2317 | 492 | t1 CREATE TABLE `t1` ( | ||
2318 | 493 | `CONCAT(CAST(REPEAT('9', 1000) AS SIGNED))` varchar(21) NOT NULL DEFAULT '', | ||
2319 | 494 | `CONCAT(CAST(REPEAT('9', 1000) AS UNSIGNED))` varchar(21) NOT NULL DEFAULT '' | ||
2320 | 495 | ) ENGINE=MyISAM DEFAULT CHARSET=latin1 | ||
2321 | 496 | DROP TABLE t1; | ||
2322 | 497 | # End of test for Bug#13581962, Bug#14096619 | ||
2323 | 480 | End of 5.1 tests | 498 | End of 5.1 tests |
2324 | 481 | 499 | ||
2325 | === added file 'Percona-Server/mysql-test/r/change_user_notembedded.result' | |||
2326 | --- Percona-Server/mysql-test/r/change_user_notembedded.result 1970-01-01 00:00:00 +0000 | |||
2327 | +++ Percona-Server/mysql-test/r/change_user_notembedded.result 2013-06-23 08:01:44 +0000 | |||
2328 | @@ -0,0 +1,5 @@ | |||
2329 | 1 | ERROR 28000: Access denied for user 'foo'@'localhost' (using password: YES) | ||
2330 | 2 | ERROR 28000: Access denied for user 'foo'@'localhost' (using password: NO) | ||
2331 | 3 | ERROR 28000: Access denied for user 'foo'@'localhost' (using password: YES) | ||
2332 | 4 | ERROR 08S01: Unknown command | ||
2333 | 5 | ERROR 08S01: Unknown command | ||
2334 | 0 | 6 | ||
2335 | === modified file 'Percona-Server/mysql-test/r/ctype_utf8mb4.result' | |||
2336 | --- Percona-Server/mysql-test/r/ctype_utf8mb4.result 2010-09-28 15:15:58 +0000 | |||
2337 | +++ Percona-Server/mysql-test/r/ctype_utf8mb4.result 2013-06-23 08:01:44 +0000 | |||
2338 | @@ -2539,6 +2539,24 @@ | |||
2339 | 2539 | ) ENGINE=MyISAM DEFAULT CHARSET=latin1 | 2539 | ) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
2340 | 2540 | DROP TABLE t1, t2; | 2540 | DROP TABLE t1, t2; |
2341 | 2541 | # | 2541 | # |
2342 | 2542 | # Bug#13581962 HIGH MEMORY USAGE ATTEMPT, THEN CRASH WITH | ||
2343 | 2543 | # LONGTEXT, UNION, USER VARIABLE | ||
2344 | 2544 | # Bug#14096619 UNABLE TO RESTORE DATABASE DUMP | ||
2345 | 2545 | # | ||
2346 | 2546 | CREATE TABLE t1(f1 LONGTEXT CHARACTER SET utf8mb4); | ||
2347 | 2547 | INSERT INTO t1 VALUES ('a'); | ||
2348 | 2548 | SELECT @a:= CAST(f1 AS SIGNED) FROM t1 | ||
2349 | 2549 | UNION ALL | ||
2350 | 2550 | SELECT CAST(f1 AS SIGNED) FROM t1; | ||
2351 | 2551 | @a:= CAST(f1 AS SIGNED) | ||
2352 | 2552 | 0 | ||
2353 | 2553 | 0 | ||
2354 | 2554 | Warnings: | ||
2355 | 2555 | Warning 1292 Truncated incorrect INTEGER value: 'a' | ||
2356 | 2556 | Warning 1292 Truncated incorrect INTEGER value: 'a' | ||
2357 | 2557 | DROP TABLE t1; | ||
2358 | 2558 | # End of test for Bug#13581962,Bug#14096619 | ||
2359 | 2559 | # | ||
2360 | 2542 | # End of 5.5 tests | 2560 | # End of 5.5 tests |
2361 | 2543 | # | 2561 | # |
2362 | 2544 | # | 2562 | # |
2363 | 2545 | 2563 | ||
2364 | === added file 'Percona-Server/mysql-test/r/failed_auth_3909.result' | |||
2365 | --- Percona-Server/mysql-test/r/failed_auth_3909.result 1970-01-01 00:00:00 +0000 | |||
2366 | +++ Percona-Server/mysql-test/r/failed_auth_3909.result 2013-06-23 08:01:44 +0000 | |||
2367 | @@ -0,0 +1,20 @@ | |||
2368 | 1 | optimize table mysql.user; | ||
2369 | 2 | Table Op Msg_type Msg_text | ||
2370 | 3 | mysql.user optimize status OK | ||
2371 | 4 | insert mysql.user (user,plugin) values ('foo','bar'),('bar','bar'),('baz','bar'); | ||
2372 | 5 | Warnings: | ||
2373 | 6 | Warning 1364 Field 'ssl_cipher' doesn't have a default value | ||
2374 | 7 | Warning 1364 Field 'x509_issuer' doesn't have a default value | ||
2375 | 8 | Warning 1364 Field 'x509_subject' doesn't have a default value | ||
2376 | 9 | flush privileges; | ||
2377 | 10 | connect(localhost,u1,,test,MASTER_PORT,MASTER_SOCKET); | ||
2378 | 11 | ERROR HY000: Plugin 'bar' is not loaded | ||
2379 | 12 | connect(localhost,u2,,test,MASTER_PORT,MASTER_SOCKET); | ||
2380 | 13 | ERROR 28000: Access denied for user 'u2'@'localhost' (using password: NO) | ||
2381 | 14 | connect(localhost,u2,password,test,MASTER_PORT,MASTER_SOCKET); | ||
2382 | 15 | ERROR 28000: Access denied for user 'u2'@'localhost' (using password: YES) | ||
2383 | 16 | ERROR HY000: Plugin 'bar' is not loaded | ||
2384 | 17 | ERROR 28000: Access denied for user 'u2'@'localhost' (using password: NO) | ||
2385 | 18 | ERROR 28000: Access denied for user 'u2'@'localhost' (using password: YES) | ||
2386 | 19 | delete from mysql.user where plugin = 'bar'; | ||
2387 | 20 | flush privileges; | ||
2388 | 0 | 21 | ||
2389 | === modified file 'Percona-Server/mysql-test/r/join_outer.result' | |||
2390 | --- Percona-Server/mysql-test/r/join_outer.result 2012-02-07 16:32:04 +0000 | |||
2391 | +++ Percona-Server/mysql-test/r/join_outer.result 2013-06-23 08:01:44 +0000 | |||
2392 | @@ -1702,4 +1702,36 @@ | |||
2393 | 1702 | f | 1702 | f |
2394 | 1703 | 1 | 1703 | 1 |
2395 | 1704 | DROP TABLE t1; | 1704 | DROP TABLE t1; |
2396 | 1705 | # | ||
2397 | 1706 | # Bug#13068506 - QUERY WITH GROUP BY ON NON-AGGR COLUMN RETURNS | ||
2398 | 1707 | # WRONG RESULT | ||
2399 | 1708 | # | ||
2400 | 1709 | CREATE TABLE t1 (i1 int); | ||
2401 | 1710 | INSERT INTO t1 VALUES (100), (101); | ||
2402 | 1711 | CREATE TABLE t2 (i2 int, i3 int); | ||
2403 | 1712 | INSERT INTO t2 VALUES (20,1),(10,2); | ||
2404 | 1713 | CREATE TABLE t3 (i4 int(11)); | ||
2405 | 1714 | INSERT INTO t3 VALUES (1),(2); | ||
2406 | 1715 | |||
2407 | 1716 | SELECT ( | ||
2408 | 1717 | SELECT MAX( t2.i2 ) | ||
2409 | 1718 | FROM t3 RIGHT JOIN t2 ON ( t2.i3 = 2 ) | ||
2410 | 1719 | WHERE t2.i3 <> t1.i1 | ||
2411 | 1720 | ) AS field1 | ||
2412 | 1721 | FROM t1;; | ||
2413 | 1722 | field1 | ||
2414 | 1723 | 20 | ||
2415 | 1724 | 20 | ||
2416 | 1725 | |||
2417 | 1726 | SELECT ( | ||
2418 | 1727 | SELECT MAX( t2.i2 ) | ||
2419 | 1728 | FROM t3 RIGHT JOIN t2 ON ( t2.i3 = 2 ) | ||
2420 | 1729 | WHERE t2.i3 <> t1.i1 | ||
2421 | 1730 | ) AS field1 | ||
2422 | 1731 | FROM t1 GROUP BY field1;; | ||
2423 | 1732 | field1 | ||
2424 | 1733 | 20 | ||
2425 | 1734 | |||
2426 | 1735 | drop table t1,t2,t3; | ||
2427 | 1736 | # End of test for Bug#13068506 | ||
2428 | 1705 | End of 5.1 tests | 1737 | End of 5.1 tests |
2429 | 1706 | 1738 | ||
2430 | === modified file 'Percona-Server/mysql-test/r/mysqltest.result' | |||
2431 | --- Percona-Server/mysql-test/r/mysqltest.result 2011-11-08 14:55:25 +0000 | |||
2432 | +++ Percona-Server/mysql-test/r/mysqltest.result 2013-06-23 08:01:44 +0000 | |||
2433 | @@ -922,9 +922,9 @@ | |||
2434 | 922 | b varchar(255) YES NULL | 922 | b varchar(255) YES NULL |
2435 | 923 | c datetime YES NULL | 923 | c datetime YES NULL |
2436 | 924 | drop table t1; | 924 | drop table t1; |
2440 | 925 | mysqltest: At line 1: change user failed: Unknown database 'inexistent' | 925 | mysqltest: At line 1: query 'change_user root,,inexistent' failed: 1049: Unknown database 'inexistent' |
2441 | 926 | mysqltest: At line 1: change user failed: Access denied for user 'inexistent'@'localhost' (using password: NO) | 926 | mysqltest: At line 1: query 'change_user inexistent,,test' failed: 1045: Access denied for user 'inexistent'@'localhost' (using password: NO) |
2442 | 927 | mysqltest: At line 1: change user failed: Access denied for user 'root'@'localhost' (using password: YES) | 927 | mysqltest: At line 1: query 'change_user root,inexistent,test' failed: 1045: Access denied for user 'root'@'localhost' (using password: YES) |
2443 | 928 | REPLACED_FILE1.txt | 928 | REPLACED_FILE1.txt |
2444 | 929 | file1.txt | 929 | file1.txt |
2445 | 930 | file2.txt | 930 | file2.txt |
2446 | 931 | 931 | ||
2447 | === modified file 'Percona-Server/mysql-test/r/partition.result' | |||
2448 | --- Percona-Server/mysql-test/r/partition.result 2012-01-27 12:21:21 +0000 | |||
2449 | +++ Percona-Server/mysql-test/r/partition.result 2013-06-23 08:01:44 +0000 | |||
2450 | @@ -1758,13 +1758,13 @@ | |||
2451 | 1758 | partition by key (a); | 1758 | partition by key (a); |
2452 | 1759 | REPAIR TABLE t1; | 1759 | REPAIR TABLE t1; |
2453 | 1760 | Table Op Msg_type Msg_text | 1760 | Table Op Msg_type Msg_text |
2455 | 1761 | test.t1 repair note The storage engine for the table doesn't support repair | 1761 | test.t1 repair status OK |
2456 | 1762 | OPTIMIZE TABLE t1; | 1762 | OPTIMIZE TABLE t1; |
2457 | 1763 | Table Op Msg_type Msg_text | 1763 | Table Op Msg_type Msg_text |
2458 | 1764 | test.t1 optimize note The storage engine for the table doesn't support optimize | 1764 | test.t1 optimize note The storage engine for the table doesn't support optimize |
2459 | 1765 | CHECK TABLE t1; | 1765 | CHECK TABLE t1; |
2460 | 1766 | Table Op Msg_type Msg_text | 1766 | Table Op Msg_type Msg_text |
2462 | 1767 | test.t1 check note The storage engine for the table doesn't support check | 1767 | test.t1 check status OK |
2463 | 1768 | ANALYZE TABLE t1; | 1768 | ANALYZE TABLE t1; |
2464 | 1769 | Table Op Msg_type Msg_text | 1769 | Table Op Msg_type Msg_text |
2465 | 1770 | test.t1 analyze note The storage engine for the table doesn't support analyze | 1770 | test.t1 analyze note The storage engine for the table doesn't support analyze |
2466 | 1771 | 1771 | ||
2467 | === modified file 'Percona-Server/mysql-test/r/percona_server_variables_debug.result' | |||
2468 | --- Percona-Server/mysql-test/r/percona_server_variables_debug.result 2013-04-04 10:52:07 +0000 | |||
2469 | +++ Percona-Server/mysql-test/r/percona_server_variables_debug.result 2013-06-23 08:01:44 +0000 | |||
2470 | @@ -89,6 +89,7 @@ | |||
2471 | 89 | INNODB_AUTOEXTEND_INCREMENT | 89 | INNODB_AUTOEXTEND_INCREMENT |
2472 | 90 | INNODB_AUTOINC_LOCK_MODE | 90 | INNODB_AUTOINC_LOCK_MODE |
2473 | 91 | INNODB_BLOCKING_BUFFER_POOL_RESTORE | 91 | INNODB_BLOCKING_BUFFER_POOL_RESTORE |
2474 | 92 | INNODB_BUFFER_POOL_EVICT | ||
2475 | 92 | INNODB_BUFFER_POOL_INSTANCES | 93 | INNODB_BUFFER_POOL_INSTANCES |
2476 | 93 | INNODB_BUFFER_POOL_POPULATE | 94 | INNODB_BUFFER_POOL_POPULATE |
2477 | 94 | INNODB_BUFFER_POOL_RESTORE_AT_STARTUP | 95 | INNODB_BUFFER_POOL_RESTORE_AT_STARTUP |
2478 | @@ -177,6 +178,7 @@ | |||
2479 | 177 | INNODB_TRACK_CHANGED_PAGES | 178 | INNODB_TRACK_CHANGED_PAGES |
2480 | 178 | INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG | 179 | INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG |
2481 | 179 | INNODB_TRX_RSEG_N_SLOTS_DEBUG | 180 | INNODB_TRX_RSEG_N_SLOTS_DEBUG |
2482 | 181 | INNODB_USE_ATOMIC_WRITES | ||
2483 | 180 | INNODB_USE_GLOBAL_FLUSH_LOG_AT_TRX_COMMIT | 182 | INNODB_USE_GLOBAL_FLUSH_LOG_AT_TRX_COMMIT |
2484 | 181 | INNODB_USE_NATIVE_AIO | 183 | INNODB_USE_NATIVE_AIO |
2485 | 182 | INNODB_USE_SYS_MALLOC | 184 | INNODB_USE_SYS_MALLOC |
2486 | 183 | 185 | ||
2487 | === modified file 'Percona-Server/mysql-test/r/percona_server_variables_release.result' | |||
2488 | --- Percona-Server/mysql-test/r/percona_server_variables_release.result 2013-04-04 10:52:07 +0000 | |||
2489 | +++ Percona-Server/mysql-test/r/percona_server_variables_release.result 2013-06-23 08:01:44 +0000 | |||
2490 | @@ -170,6 +170,7 @@ | |||
2491 | 170 | INNODB_THREAD_CONCURRENCY_TIMER_BASED | 170 | INNODB_THREAD_CONCURRENCY_TIMER_BASED |
2492 | 171 | INNODB_THREAD_SLEEP_DELAY | 171 | INNODB_THREAD_SLEEP_DELAY |
2493 | 172 | INNODB_TRACK_CHANGED_PAGES | 172 | INNODB_TRACK_CHANGED_PAGES |
2494 | 173 | INNODB_USE_ATOMIC_WRITES | ||
2495 | 173 | INNODB_USE_GLOBAL_FLUSH_LOG_AT_TRX_COMMIT | 174 | INNODB_USE_GLOBAL_FLUSH_LOG_AT_TRX_COMMIT |
2496 | 174 | INNODB_USE_NATIVE_AIO | 175 | INNODB_USE_NATIVE_AIO |
2497 | 175 | INNODB_USE_SYS_MALLOC | 176 | INNODB_USE_SYS_MALLOC |
2498 | 176 | 177 | ||
2499 | === modified file 'Percona-Server/mysql-test/r/show_check.result' | |||
2500 | --- Percona-Server/mysql-test/r/show_check.result 2013-01-16 01:34:54 +0000 | |||
2501 | +++ Percona-Server/mysql-test/r/show_check.result 2013-06-23 08:01:44 +0000 | |||
2502 | @@ -15,7 +15,7 @@ | |||
2503 | 15 | def Table 253 128 7 Y 0 31 8 | 15 | def Table 253 128 7 Y 0 31 8 |
2504 | 16 | def Op 253 10 5 Y 0 31 8 | 16 | def Op 253 10 5 Y 0 31 8 |
2505 | 17 | def Msg_type 253 10 6 Y 0 31 8 | 17 | def Msg_type 253 10 6 Y 0 31 8 |
2507 | 18 | def Msg_text 253 255 27 Y 0 31 8 | 18 | def Msg_text 250 393216 27 Y 0 31 8 |
2508 | 19 | Table Op Msg_type Msg_text | 19 | Table Op Msg_type Msg_text |
2509 | 20 | test.t1 check status Table is already up to date | 20 | test.t1 check status Table is already up to date |
2510 | 21 | check table t1 fast; | 21 | check table t1 fast; |
2511 | @@ -23,7 +23,7 @@ | |||
2512 | 23 | def Table 253 128 7 Y 0 31 8 | 23 | def Table 253 128 7 Y 0 31 8 |
2513 | 24 | def Op 253 10 5 Y 0 31 8 | 24 | def Op 253 10 5 Y 0 31 8 |
2514 | 25 | def Msg_type 253 10 6 Y 0 31 8 | 25 | def Msg_type 253 10 6 Y 0 31 8 |
2516 | 26 | def Msg_text 253 255 27 Y 0 31 8 | 26 | def Msg_text 250 393216 27 Y 0 31 8 |
2517 | 27 | Table Op Msg_type Msg_text | 27 | Table Op Msg_type Msg_text |
2518 | 28 | test.t1 check status Table is already up to date | 28 | test.t1 check status Table is already up to date |
2519 | 29 | check table t1 changed; | 29 | check table t1 changed; |
2520 | @@ -31,7 +31,7 @@ | |||
2521 | 31 | def Table 253 128 7 Y 0 31 8 | 31 | def Table 253 128 7 Y 0 31 8 |
2522 | 32 | def Op 253 10 5 Y 0 31 8 | 32 | def Op 253 10 5 Y 0 31 8 |
2523 | 33 | def Msg_type 253 10 6 Y 0 31 8 | 33 | def Msg_type 253 10 6 Y 0 31 8 |
2525 | 34 | def Msg_text 253 255 2 Y 0 31 8 | 34 | def Msg_text 250 393216 2 Y 0 31 8 |
2526 | 35 | Table Op Msg_type Msg_text | 35 | Table Op Msg_type Msg_text |
2527 | 36 | test.t1 check status OK | 36 | test.t1 check status OK |
2528 | 37 | insert into t1 values (5,5,5); | 37 | insert into t1 values (5,5,5); |
2529 | @@ -40,7 +40,7 @@ | |||
2530 | 40 | def Table 253 128 7 Y 0 31 8 | 40 | def Table 253 128 7 Y 0 31 8 |
2531 | 41 | def Op 253 10 5 Y 0 31 8 | 41 | def Op 253 10 5 Y 0 31 8 |
2532 | 42 | def Msg_type 253 10 6 Y 0 31 8 | 42 | def Msg_type 253 10 6 Y 0 31 8 |
2534 | 43 | def Msg_text 253 255 2 Y 0 31 8 | 43 | def Msg_text 250 393216 2 Y 0 31 8 |
2535 | 44 | Table Op Msg_type Msg_text | 44 | Table Op Msg_type Msg_text |
2536 | 45 | test.t1 check status OK | 45 | test.t1 check status OK |
2537 | 46 | check table t1 medium; | 46 | check table t1 medium; |
2538 | @@ -48,7 +48,7 @@ | |||
2539 | 48 | def Table 253 128 7 Y 0 31 8 | 48 | def Table 253 128 7 Y 0 31 8 |
2540 | 49 | def Op 253 10 5 Y 0 31 8 | 49 | def Op 253 10 5 Y 0 31 8 |
2541 | 50 | def Msg_type 253 10 6 Y 0 31 8 | 50 | def Msg_type 253 10 6 Y 0 31 8 |
2543 | 51 | def Msg_text 253 255 2 Y 0 31 8 | 51 | def Msg_text 250 393216 2 Y 0 31 8 |
2544 | 52 | Table Op Msg_type Msg_text | 52 | Table Op Msg_type Msg_text |
2545 | 53 | test.t1 check status OK | 53 | test.t1 check status OK |
2546 | 54 | check table t1 extended; | 54 | check table t1 extended; |
2547 | @@ -56,7 +56,7 @@ | |||
2548 | 56 | def Table 253 128 7 Y 0 31 8 | 56 | def Table 253 128 7 Y 0 31 8 |
2549 | 57 | def Op 253 10 5 Y 0 31 8 | 57 | def Op 253 10 5 Y 0 31 8 |
2550 | 58 | def Msg_type 253 10 6 Y 0 31 8 | 58 | def Msg_type 253 10 6 Y 0 31 8 |
2552 | 59 | def Msg_text 253 255 2 Y 0 31 8 | 59 | def Msg_text 250 393216 2 Y 0 31 8 |
2553 | 60 | Table Op Msg_type Msg_text | 60 | Table Op Msg_type Msg_text |
2554 | 61 | test.t1 check status OK | 61 | test.t1 check status OK |
2555 | 62 | show index from t1; | 62 | show index from t1; |
2556 | @@ -88,7 +88,7 @@ | |||
2557 | 88 | def Table 253 128 7 Y 0 31 8 | 88 | def Table 253 128 7 Y 0 31 8 |
2558 | 89 | def Op 253 10 8 Y 0 31 8 | 89 | def Op 253 10 8 Y 0 31 8 |
2559 | 90 | def Msg_type 253 10 6 Y 0 31 8 | 90 | def Msg_type 253 10 6 Y 0 31 8 |
2561 | 91 | def Msg_text 253 255 2 Y 0 31 8 | 91 | def Msg_text 250 393216 2 Y 0 31 8 |
2562 | 92 | Table Op Msg_type Msg_text | 92 | Table Op Msg_type Msg_text |
2563 | 93 | test.t1 optimize status OK | 93 | test.t1 optimize status OK |
2564 | 94 | optimize table t1; | 94 | optimize table t1; |
2565 | @@ -160,7 +160,7 @@ | |||
2566 | 160 | def Table 253 128 7 Y 0 31 8 | 160 | def Table 253 128 7 Y 0 31 8 |
2567 | 161 | def Op 253 10 7 Y 0 31 8 | 161 | def Op 253 10 7 Y 0 31 8 |
2568 | 162 | def Msg_type 253 10 6 Y 0 31 8 | 162 | def Msg_type 253 10 6 Y 0 31 8 |
2570 | 163 | def Msg_text 253 255 2 Y 0 31 8 | 163 | def Msg_text 250 393216 2 Y 0 31 8 |
2571 | 164 | Table Op Msg_type Msg_text | 164 | Table Op Msg_type Msg_text |
2572 | 165 | test.t1 analyze status OK | 165 | test.t1 analyze status OK |
2573 | 166 | show index from t1; | 166 | show index from t1; |
2574 | @@ -177,7 +177,7 @@ | |||
2575 | 177 | def Table 253 128 7 Y 0 31 8 | 177 | def Table 253 128 7 Y 0 31 8 |
2576 | 178 | def Op 253 10 6 Y 0 31 8 | 178 | def Op 253 10 6 Y 0 31 8 |
2577 | 179 | def Msg_type 253 10 6 Y 0 31 8 | 179 | def Msg_type 253 10 6 Y 0 31 8 |
2579 | 180 | def Msg_text 253 255 2 Y 0 31 8 | 180 | def Msg_text 250 393216 2 Y 0 31 8 |
2580 | 181 | Table Op Msg_type Msg_text | 181 | Table Op Msg_type Msg_text |
2581 | 182 | test.t1 repair status OK | 182 | test.t1 repair status OK |
2582 | 183 | show index from t1; | 183 | show index from t1; |
2583 | 184 | 184 | ||
2584 | === modified file 'Percona-Server/mysql-test/suite/binlog/r/binlog_spurious_ddl_errors.result' | |||
2585 | --- Percona-Server/mysql-test/suite/binlog/r/binlog_spurious_ddl_errors.result 2010-06-01 23:25:08 +0000 | |||
2586 | +++ Percona-Server/mysql-test/suite/binlog/r/binlog_spurious_ddl_errors.result 2013-06-23 08:01:44 +0000 | |||
2587 | @@ -48,6 +48,7 @@ | |||
2588 | 48 | ################################################################################ | 48 | ################################################################################ |
2589 | 49 | # CLEAN UP # | 49 | # CLEAN UP # |
2590 | 50 | ################################################################################ | 50 | ################################################################################ |
2591 | 51 | flush tables; | ||
2592 | 51 | UNINSTALL PLUGIN example; | 52 | UNINSTALL PLUGIN example; |
2593 | 52 | SET @@global.binlog_format = @old_binlog_format; | 53 | SET @@global.binlog_format = @old_binlog_format; |
2594 | 53 | SET @@session.binlog_format = @old_binlog_format; | 54 | SET @@session.binlog_format = @old_binlog_format; |
2595 | 54 | 55 | ||
2596 | === modified file 'Percona-Server/mysql-test/suite/binlog/t/binlog_spurious_ddl_errors.test' | |||
2597 | --- Percona-Server/mysql-test/suite/binlog/t/binlog_spurious_ddl_errors.test 2010-06-01 23:25:08 +0000 | |||
2598 | +++ Percona-Server/mysql-test/suite/binlog/t/binlog_spurious_ddl_errors.test 2013-06-23 08:01:44 +0000 | |||
2599 | @@ -26,7 +26,8 @@ | |||
2600 | 26 | --source include/have_log_bin.inc | 26 | --source include/have_log_bin.inc |
2601 | 27 | 27 | ||
2602 | 28 | SET @old_binlog_format= @@global.binlog_format; | 28 | SET @old_binlog_format= @@global.binlog_format; |
2604 | 29 | INSTALL PLUGIN example SONAME 'ha_example.so'; | 29 | --replace_regex /\.dll/.so/ |
2605 | 30 | eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN'; | ||
2606 | 30 | 31 | ||
2607 | 31 | --echo ################################################################################ | 32 | --echo ################################################################################ |
2608 | 32 | --echo # Verifies if ER_BINLOG_STMT_MODE_AND_ROW_ENGINE happens by setting the binlog | 33 | --echo # Verifies if ER_BINLOG_STMT_MODE_AND_ROW_ENGINE happens by setting the binlog |
2609 | @@ -90,6 +91,7 @@ | |||
2610 | 90 | --echo ################################################################################ | 91 | --echo ################################################################################ |
2611 | 91 | --echo # CLEAN UP # | 92 | --echo # CLEAN UP # |
2612 | 92 | --echo ################################################################################ | 93 | --echo ################################################################################ |
2613 | 94 | flush tables; | ||
2614 | 93 | UNINSTALL PLUGIN example; | 95 | UNINSTALL PLUGIN example; |
2615 | 94 | SET @@global.binlog_format = @old_binlog_format; | 96 | SET @@global.binlog_format = @old_binlog_format; |
2616 | 95 | SET @@session.binlog_format = @old_binlog_format; | 97 | SET @@session.binlog_format = @old_binlog_format; |
2617 | 96 | 98 | ||
2618 | === modified file 'Percona-Server/mysql-test/suite/binlog/t/disabled.def' | |||
2619 | --- Percona-Server/mysql-test/suite/binlog/t/disabled.def 2011-05-24 06:40:38 +0000 | |||
2620 | +++ Percona-Server/mysql-test/suite/binlog/t/disabled.def 2013-06-23 08:01:44 +0000 | |||
2621 | @@ -10,4 +10,4 @@ | |||
2622 | 10 | # | 10 | # |
2623 | 11 | ############################################################################## | 11 | ############################################################################## |
2624 | 12 | binlog_truncate_innodb : BUG#11764459 2010-10-20 anitha Originally disabled due to BUG#42643. Product bug fixed, but test changes needed | 12 | binlog_truncate_innodb : BUG#11764459 2010-10-20 anitha Originally disabled due to BUG#42643. Product bug fixed, but test changes needed |
2626 | 13 | binlog_spurious_ddl_errors : BUG#11761680 2010-06-03 alik binlog_spurious_ddl_errors.test fails, thus disabled | 13 | binlog_spurious_ddl_errors : BUG#11761680 2013-01-18 astha Fixed on mysql-5.6 and trunk |
2627 | 14 | 14 | ||
2628 | === modified file 'Percona-Server/mysql-test/suite/innodb/r/innodb_bug14147491.result' | |||
2629 | --- Percona-Server/mysql-test/suite/innodb/r/innodb_bug14147491.result 2012-11-19 09:28:51 +0000 | |||
2630 | +++ Percona-Server/mysql-test/suite/innodb/r/innodb_bug14147491.result 2013-06-23 08:01:44 +0000 | |||
2631 | @@ -4,14 +4,25 @@ | |||
2632 | 4 | CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB; | 4 | CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ENGINE=InnoDB; |
2633 | 5 | INSERT INTO t1 (b) VALUES ('corrupt me'); | 5 | INSERT INTO t1 (b) VALUES ('corrupt me'); |
2634 | 6 | INSERT INTO t1 (b) VALUES ('corrupt me'); | 6 | INSERT INTO t1 (b) VALUES ('corrupt me'); |
2636 | 7 | # Restart server to flush buffers | 7 | # Write file to make mysql-test-run.pl expect the "crash", but don't |
2637 | 8 | # start it until it's told to | ||
2638 | 9 | # We give 30 seconds to do a clean shutdown because we do not want | ||
2639 | 10 | # to redo apply the pages of t1.ibd at the time of recovery. | ||
2640 | 11 | # We want SQL to initiate the first access to t1.ibd. | ||
2641 | 12 | # Wait until disconnected. | ||
2642 | 13 | # Backup the t1.ibd before corrupting | ||
2643 | 8 | # Corrupt the table | 14 | # Corrupt the table |
2644 | 9 | Munged a string. | 15 | Munged a string. |
2645 | 10 | Munged a string. | 16 | Munged a string. |
2647 | 11 | # Write file to make mysql-test-run.pl expect crash and restart | 17 | # Write file to make mysql-test-run.pl start up the server again |
2648 | 18 | SET DEBUG = '+d,innodb_page_corruption_retries'; | ||
2649 | 19 | # Write file to make mysql-test-run.pl expect the "crash", but don't | ||
2650 | 20 | # start it until it's told to | ||
2651 | 21 | # The below SELECT query will crash the server because some pages | ||
2652 | 22 | # on the disk are corrupted | ||
2653 | 12 | SELECT * FROM t1; | 23 | SELECT * FROM t1; |
2654 | 13 | ERROR HY000: Lost connection to MySQL server during query | 24 | ERROR HY000: Lost connection to MySQL server during query |
2657 | 14 | # Turn on reconnect | 25 | # Restore the original t1.ibd |
2658 | 15 | # Wait for server to fully start | 26 | # Write file to make mysql-test-run.pl start up the server again |
2659 | 16 | # Cleanup | 27 | # Cleanup |
2660 | 17 | DROP TABLE t1; | 28 | DROP TABLE t1; |
2661 | 18 | 29 | ||
2662 | === modified file 'Percona-Server/mysql-test/suite/innodb/t/innodb_bug12400341.test' | |||
2663 | --- Percona-Server/mysql-test/suite/innodb/t/innodb_bug12400341.test 2012-01-10 05:23:20 +0000 | |||
2664 | +++ Percona-Server/mysql-test/suite/innodb/t/innodb_bug12400341.test 2013-06-23 08:01:44 +0000 | |||
2665 | @@ -7,6 +7,10 @@ | |||
2666 | 7 | --skip Test requires InnoDB built with UNIV_DEBUG definition. | 7 | --skip Test requires InnoDB built with UNIV_DEBUG definition. |
2667 | 8 | } | 8 | } |
2668 | 9 | 9 | ||
2669 | 10 | # Don't test under valgrind, undo slots of the previous test might exist still | ||
2670 | 11 | # and cause unstable result. | ||
2671 | 12 | --source include/not_valgrind.inc | ||
2672 | 13 | |||
2673 | 10 | call mtr.add_suppression("InnoDB: Warning: cannot find a free slot for an undo log. Do you have too"); | 14 | call mtr.add_suppression("InnoDB: Warning: cannot find a free slot for an undo log. Do you have too"); |
2674 | 11 | 15 | ||
2675 | 12 | --disable_query_log | 16 | --disable_query_log |
2676 | 13 | 17 | ||
2677 | === modified file 'Percona-Server/mysql-test/suite/innodb/t/innodb_bug14147491.test' | |||
2678 | --- Percona-Server/mysql-test/suite/innodb/t/innodb_bug14147491.test 2012-11-19 09:28:51 +0000 | |||
2679 | +++ Percona-Server/mysql-test/suite/innodb/t/innodb_bug14147491.test 2013-06-23 08:01:44 +0000 | |||
2680 | @@ -10,6 +10,8 @@ | |||
2681 | 10 | source include/not_embedded.inc; | 10 | source include/not_embedded.inc; |
2682 | 11 | # Require InnoDB | 11 | # Require InnoDB |
2683 | 12 | source include/have_innodb.inc; | 12 | source include/have_innodb.inc; |
2684 | 13 | # Require Debug for SET DEBUG | ||
2685 | 14 | source include/have_debug.inc; | ||
2686 | 13 | 15 | ||
2687 | 14 | CALL mtr.add_suppression("InnoDB: Error: Unable to read tablespace .* page no .* into the buffer pool after 100 attempts"); | 16 | CALL mtr.add_suppression("InnoDB: Error: Unable to read tablespace .* page no .* into the buffer pool after 100 attempts"); |
2688 | 15 | CALL mtr.add_suppression("InnoDB: Warning: database page corruption or a failed"); | 17 | CALL mtr.add_suppression("InnoDB: Warning: database page corruption or a failed"); |
2689 | @@ -27,13 +29,26 @@ | |||
2690 | 27 | --enable_query_log | 29 | --enable_query_log |
2691 | 28 | INSERT INTO t1 (b) VALUES ('corrupt me'); | 30 | INSERT INTO t1 (b) VALUES ('corrupt me'); |
2692 | 29 | 31 | ||
2693 | 30 | --echo # Restart server to flush buffers | ||
2694 | 31 | source include/restart_mysqld.inc; | ||
2695 | 32 | |||
2696 | 33 | --echo # Corrupt the table | ||
2697 | 34 | let $MYSQLD_DATADIR=`select @@datadir`; | 32 | let $MYSQLD_DATADIR=`select @@datadir`; |
2698 | 35 | let t1_IBD = $MYSQLD_DATADIR/test/t1.ibd; | 33 | let t1_IBD = $MYSQLD_DATADIR/test/t1.ibd; |
2699 | 36 | 34 | ||
2700 | 35 | --echo # Write file to make mysql-test-run.pl expect the "crash", but don't | ||
2701 | 36 | --echo # start it until it's told to | ||
2702 | 37 | --exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect | ||
2703 | 38 | |||
2704 | 39 | --echo # We give 30 seconds to do a clean shutdown because we do not want | ||
2705 | 40 | --echo # to redo apply the pages of t1.ibd at the time of recovery. | ||
2706 | 41 | --echo # We want SQL to initiate the first access to t1.ibd. | ||
2707 | 42 | shutdown_server 30; | ||
2708 | 43 | |||
2709 | 44 | --echo # Wait until disconnected. | ||
2710 | 45 | --source include/wait_until_disconnected.inc | ||
2711 | 46 | |||
2712 | 47 | --echo # Backup the t1.ibd before corrupting | ||
2713 | 48 | --copy_file $t1_IBD $MYSQLD_DATADIR/test/t1.ibd.backup | ||
2714 | 49 | |||
2715 | 50 | --echo # Corrupt the table | ||
2716 | 51 | |||
2717 | 37 | perl; | 52 | perl; |
2718 | 38 | use strict; | 53 | use strict; |
2719 | 39 | use warnings; | 54 | use warnings; |
2720 | @@ -59,17 +74,38 @@ | |||
2721 | 59 | close IBD_FILE; | 74 | close IBD_FILE; |
2722 | 60 | EOF | 75 | EOF |
2723 | 61 | 76 | ||
2725 | 62 | --echo # Write file to make mysql-test-run.pl expect crash and restart | 77 | --echo # Write file to make mysql-test-run.pl start up the server again |
2726 | 63 | --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect | 78 | --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect |
2728 | 64 | 79 | --enable_reconnect | |
2729 | 80 | --source include/wait_until_connected_again.inc | ||
2730 | 81 | |||
2731 | 82 | SET DEBUG = '+d,innodb_page_corruption_retries'; | ||
2732 | 83 | |||
2733 | 84 | --echo # Write file to make mysql-test-run.pl expect the "crash", but don't | ||
2734 | 85 | --echo # start it until it's told to | ||
2735 | 86 | --exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect | ||
2736 | 87 | |||
2737 | 88 | --echo # The below SELECT query will crash the server because some pages | ||
2738 | 89 | --echo # on the disk are corrupted | ||
2739 | 65 | --error 2013 | 90 | --error 2013 |
2740 | 66 | SELECT * FROM t1; | 91 | SELECT * FROM t1; |
2741 | 67 | 92 | ||
2743 | 68 | --echo # Turn on reconnect | 93 | # The below mtr command --remove_file fails randomly on windows with |
2744 | 94 | # error number 13 which is permission denied on nix systems. We sleep | ||
2745 | 95 | # 1 second hoping that any process holding lock on t1.ibd is released. | ||
2746 | 96 | SLEEP 1; | ||
2747 | 97 | |||
2748 | 98 | --echo # Restore the original t1.ibd | ||
2749 | 99 | --remove_file $MYSQLD_DATADIR/test/t1.ibd | ||
2750 | 100 | --move_file $MYSQLD_DATADIR/test/t1.ibd.backup $MYSQLD_DATADIR/test/t1.ibd | ||
2751 | 101 | |||
2752 | 102 | --echo # Write file to make mysql-test-run.pl start up the server again | ||
2753 | 103 | --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect | ||
2754 | 69 | --enable_reconnect | 104 | --enable_reconnect |
2755 | 70 | |||
2756 | 71 | --echo # Wait for server to fully start | ||
2757 | 72 | --source include/wait_until_connected_again.inc | 105 | --source include/wait_until_connected_again.inc |
2758 | 73 | 106 | ||
2759 | 107 | # Note SET DEBUG = '-d,innodb_page_corruption_retries' is not required | ||
2760 | 108 | # because the session information is lost after server restart | ||
2761 | 109 | |||
2762 | 74 | --echo # Cleanup | 110 | --echo # Cleanup |
2763 | 75 | DROP TABLE t1; | 111 | DROP TABLE t1; |
2764 | 76 | 112 | ||
2765 | === modified file 'Percona-Server/mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result' | |||
2766 | --- Percona-Server/mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result 2009-11-25 08:19:34 +0000 | |||
2767 | +++ Percona-Server/mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result 2013-06-23 08:01:44 +0000 | |||
2768 | @@ -531,7 +531,7 @@ | |||
2769 | 531 | # check layout success: 1 | 531 | # check layout success: 1 |
2770 | 532 | REPAIR TABLE t1 EXTENDED; | 532 | REPAIR TABLE t1 EXTENDED; |
2771 | 533 | Table Op Msg_type Msg_text | 533 | Table Op Msg_type Msg_text |
2773 | 534 | test.t1 repair note The storage engine for the table doesn't support repair | 534 | test.t1 repair status OK |
2774 | 535 | # check layout success: 1 | 535 | # check layout success: 1 |
2775 | 536 | TRUNCATE t1; | 536 | TRUNCATE t1; |
2776 | 537 | 537 | ||
2777 | @@ -1023,7 +1023,7 @@ | |||
2778 | 1023 | # check layout success: 1 | 1023 | # check layout success: 1 |
2779 | 1024 | REPAIR TABLE t1 EXTENDED; | 1024 | REPAIR TABLE t1 EXTENDED; |
2780 | 1025 | Table Op Msg_type Msg_text | 1025 | Table Op Msg_type Msg_text |
2782 | 1026 | test.t1 repair note The storage engine for the table doesn't support repair | 1026 | test.t1 repair status OK |
2783 | 1027 | # check layout success: 1 | 1027 | # check layout success: 1 |
2784 | 1028 | TRUNCATE t1; | 1028 | TRUNCATE t1; |
2785 | 1029 | 1029 | ||
2786 | @@ -1530,7 +1530,7 @@ | |||
2787 | 1530 | # check layout success: 1 | 1530 | # check layout success: 1 |
2788 | 1531 | REPAIR TABLE t1 EXTENDED; | 1531 | REPAIR TABLE t1 EXTENDED; |
2789 | 1532 | Table Op Msg_type Msg_text | 1532 | Table Op Msg_type Msg_text |
2791 | 1533 | test.t1 repair note The storage engine for the table doesn't support repair | 1533 | test.t1 repair status OK |
2792 | 1534 | # check layout success: 1 | 1534 | # check layout success: 1 |
2793 | 1535 | TRUNCATE t1; | 1535 | TRUNCATE t1; |
2794 | 1536 | 1536 | ||
2795 | @@ -2031,7 +2031,7 @@ | |||
2796 | 2031 | # check layout success: 1 | 2031 | # check layout success: 1 |
2797 | 2032 | REPAIR TABLE t1 EXTENDED; | 2032 | REPAIR TABLE t1 EXTENDED; |
2798 | 2033 | Table Op Msg_type Msg_text | 2033 | Table Op Msg_type Msg_text |
2800 | 2034 | test.t1 repair note The storage engine for the table doesn't support repair | 2034 | test.t1 repair status OK |
2801 | 2035 | # check layout success: 1 | 2035 | # check layout success: 1 |
2802 | 2036 | TRUNCATE t1; | 2036 | TRUNCATE t1; |
2803 | 2037 | 2037 | ||
2804 | @@ -2530,7 +2530,7 @@ | |||
2805 | 2530 | # check layout success: 1 | 2530 | # check layout success: 1 |
2806 | 2531 | REPAIR TABLE t1 EXTENDED; | 2531 | REPAIR TABLE t1 EXTENDED; |
2807 | 2532 | Table Op Msg_type Msg_text | 2532 | Table Op Msg_type Msg_text |
2809 | 2533 | test.t1 repair note The storage engine for the table doesn't support repair | 2533 | test.t1 repair status OK |
2810 | 2534 | # check layout success: 1 | 2534 | # check layout success: 1 |
2811 | 2535 | TRUNCATE t1; | 2535 | TRUNCATE t1; |
2812 | 2536 | 2536 | ||
2813 | @@ -3040,7 +3040,7 @@ | |||
2814 | 3040 | # check layout success: 1 | 3040 | # check layout success: 1 |
2815 | 3041 | REPAIR TABLE t1 EXTENDED; | 3041 | REPAIR TABLE t1 EXTENDED; |
2816 | 3042 | Table Op Msg_type Msg_text | 3042 | Table Op Msg_type Msg_text |
2818 | 3043 | test.t1 repair note The storage engine for the table doesn't support repair | 3043 | test.t1 repair status OK |
2819 | 3044 | # check layout success: 1 | 3044 | # check layout success: 1 |
2820 | 3045 | TRUNCATE t1; | 3045 | TRUNCATE t1; |
2821 | 3046 | 3046 | ||
2822 | @@ -3552,7 +3552,7 @@ | |||
2823 | 3552 | # check layout success: 1 | 3552 | # check layout success: 1 |
2824 | 3553 | REPAIR TABLE t1 EXTENDED; | 3553 | REPAIR TABLE t1 EXTENDED; |
2825 | 3554 | Table Op Msg_type Msg_text | 3554 | Table Op Msg_type Msg_text |
2827 | 3555 | test.t1 repair note The storage engine for the table doesn't support repair | 3555 | test.t1 repair status OK |
2828 | 3556 | # check layout success: 1 | 3556 | # check layout success: 1 |
2829 | 3557 | TRUNCATE t1; | 3557 | TRUNCATE t1; |
2830 | 3558 | 3558 | ||
2831 | @@ -4052,7 +4052,7 @@ | |||
2832 | 4052 | # check layout success: 1 | 4052 | # check layout success: 1 |
2833 | 4053 | REPAIR TABLE t1 EXTENDED; | 4053 | REPAIR TABLE t1 EXTENDED; |
2834 | 4054 | Table Op Msg_type Msg_text | 4054 | Table Op Msg_type Msg_text |
2836 | 4055 | test.t1 repair note The storage engine for the table doesn't support repair | 4055 | test.t1 repair status OK |
2837 | 4056 | # check layout success: 1 | 4056 | # check layout success: 1 |
2838 | 4057 | TRUNCATE t1; | 4057 | TRUNCATE t1; |
2839 | 4058 | 4058 | ||
2840 | @@ -4545,7 +4545,7 @@ | |||
2841 | 4545 | # check layout success: 1 | 4545 | # check layout success: 1 |
2842 | 4546 | REPAIR TABLE t1 EXTENDED; | 4546 | REPAIR TABLE t1 EXTENDED; |
2843 | 4547 | Table Op Msg_type Msg_text | 4547 | Table Op Msg_type Msg_text |
2845 | 4548 | test.t1 repair note The storage engine for the table doesn't support repair | 4548 | test.t1 repair status OK |
2846 | 4549 | # check layout success: 1 | 4549 | # check layout success: 1 |
2847 | 4550 | TRUNCATE t1; | 4550 | TRUNCATE t1; |
2848 | 4551 | 4551 | ||
2849 | @@ -5037,7 +5037,7 @@ | |||
2850 | 5037 | # check layout success: 1 | 5037 | # check layout success: 1 |
2851 | 5038 | REPAIR TABLE t1 EXTENDED; | 5038 | REPAIR TABLE t1 EXTENDED; |
2852 | 5039 | Table Op Msg_type Msg_text | 5039 | Table Op Msg_type Msg_text |
2854 | 5040 | test.t1 repair note The storage engine for the table doesn't support repair | 5040 | test.t1 repair status OK |
2855 | 5041 | # check layout success: 1 | 5041 | # check layout success: 1 |
2856 | 5042 | TRUNCATE t1; | 5042 | TRUNCATE t1; |
2857 | 5043 | 5043 | ||
2858 | @@ -5544,7 +5544,7 @@ | |||
2859 | 5544 | # check layout success: 1 | 5544 | # check layout success: 1 |
2860 | 5545 | REPAIR TABLE t1 EXTENDED; | 5545 | REPAIR TABLE t1 EXTENDED; |
2861 | 5546 | Table Op Msg_type Msg_text | 5546 | Table Op Msg_type Msg_text |
2863 | 5547 | test.t1 repair note The storage engine for the table doesn't support repair | 5547 | test.t1 repair status OK |
2864 | 5548 | # check layout success: 1 | 5548 | # check layout success: 1 |
2865 | 5549 | TRUNCATE t1; | 5549 | TRUNCATE t1; |
2866 | 5550 | 5550 | ||
2867 | @@ -6045,7 +6045,7 @@ | |||
2868 | 6045 | # check layout success: 1 | 6045 | # check layout success: 1 |
2869 | 6046 | REPAIR TABLE t1 EXTENDED; | 6046 | REPAIR TABLE t1 EXTENDED; |
2870 | 6047 | Table Op Msg_type Msg_text | 6047 | Table Op Msg_type Msg_text |
2872 | 6048 | test.t1 repair note The storage engine for the table doesn't support repair | 6048 | test.t1 repair status OK |
2873 | 6049 | # check layout success: 1 | 6049 | # check layout success: 1 |
2874 | 6050 | TRUNCATE t1; | 6050 | TRUNCATE t1; |
2875 | 6051 | 6051 | ||
2876 | @@ -6544,7 +6544,7 @@ | |||
2877 | 6544 | # check layout success: 1 | 6544 | # check layout success: 1 |
2878 | 6545 | REPAIR TABLE t1 EXTENDED; | 6545 | REPAIR TABLE t1 EXTENDED; |
2879 | 6546 | Table Op Msg_type Msg_text | 6546 | Table Op Msg_type Msg_text |
2881 | 6547 | test.t1 repair note The storage engine for the table doesn't support repair | 6547 | test.t1 repair status OK |
2882 | 6548 | # check layout success: 1 | 6548 | # check layout success: 1 |
2883 | 6549 | TRUNCATE t1; | 6549 | TRUNCATE t1; |
2884 | 6550 | 6550 | ||
2885 | @@ -7054,7 +7054,7 @@ | |||
2886 | 7054 | # check layout success: 1 | 7054 | # check layout success: 1 |
2887 | 7055 | REPAIR TABLE t1 EXTENDED; | 7055 | REPAIR TABLE t1 EXTENDED; |
2888 | 7056 | Table Op Msg_type Msg_text | 7056 | Table Op Msg_type Msg_text |
2890 | 7057 | test.t1 repair note The storage engine for the table doesn't support repair | 7057 | test.t1 repair status OK |
2891 | 7058 | # check layout success: 1 | 7058 | # check layout success: 1 |
2892 | 7059 | TRUNCATE t1; | 7059 | TRUNCATE t1; |
2893 | 7060 | 7060 | ||
2894 | @@ -7566,7 +7566,7 @@ | |||
2895 | 7566 | # check layout success: 1 | 7566 | # check layout success: 1 |
2896 | 7567 | REPAIR TABLE t1 EXTENDED; | 7567 | REPAIR TABLE t1 EXTENDED; |
2897 | 7568 | Table Op Msg_type Msg_text | 7568 | Table Op Msg_type Msg_text |
2899 | 7569 | test.t1 repair note The storage engine for the table doesn't support repair | 7569 | test.t1 repair status OK |
2900 | 7570 | # check layout success: 1 | 7570 | # check layout success: 1 |
2901 | 7571 | TRUNCATE t1; | 7571 | TRUNCATE t1; |
2902 | 7572 | 7572 | ||
2903 | @@ -8066,7 +8066,7 @@ | |||
2904 | 8066 | # check layout success: 1 | 8066 | # check layout success: 1 |
2905 | 8067 | REPAIR TABLE t1 EXTENDED; | 8067 | REPAIR TABLE t1 EXTENDED; |
2906 | 8068 | Table Op Msg_type Msg_text | 8068 | Table Op Msg_type Msg_text |
2908 | 8069 | test.t1 repair note The storage engine for the table doesn't support repair | 8069 | test.t1 repair status OK |
2909 | 8070 | # check layout success: 1 | 8070 | # check layout success: 1 |
2910 | 8071 | TRUNCATE t1; | 8071 | TRUNCATE t1; |
2911 | 8072 | 8072 | ||
2912 | @@ -8576,7 +8576,7 @@ | |||
2913 | 8576 | # check layout success: 1 | 8576 | # check layout success: 1 |
2914 | 8577 | REPAIR TABLE t1 EXTENDED; | 8577 | REPAIR TABLE t1 EXTENDED; |
2915 | 8578 | Table Op Msg_type Msg_text | 8578 | Table Op Msg_type Msg_text |
2917 | 8579 | test.t1 repair note The storage engine for the table doesn't support repair | 8579 | test.t1 repair status OK |
2918 | 8580 | # check layout success: 1 | 8580 | # check layout success: 1 |
2919 | 8581 | TRUNCATE t1; | 8581 | TRUNCATE t1; |
2920 | 8582 | 8582 | ||
2921 | @@ -9084,7 +9084,7 @@ | |||
2922 | 9084 | # check layout success: 1 | 9084 | # check layout success: 1 |
2923 | 9085 | REPAIR TABLE t1 EXTENDED; | 9085 | REPAIR TABLE t1 EXTENDED; |
2924 | 9086 | Table Op Msg_type Msg_text | 9086 | Table Op Msg_type Msg_text |
2926 | 9087 | test.t1 repair note The storage engine for the table doesn't support repair | 9087 | test.t1 repair status OK |
2927 | 9088 | # check layout success: 1 | 9088 | # check layout success: 1 |
2928 | 9089 | TRUNCATE t1; | 9089 | TRUNCATE t1; |
2929 | 9090 | 9090 | ||
2930 | @@ -9607,7 +9607,7 @@ | |||
2931 | 9607 | # check layout success: 1 | 9607 | # check layout success: 1 |
2932 | 9608 | REPAIR TABLE t1 EXTENDED; | 9608 | REPAIR TABLE t1 EXTENDED; |
2933 | 9609 | Table Op Msg_type Msg_text | 9609 | Table Op Msg_type Msg_text |
2935 | 9610 | test.t1 repair note The storage engine for the table doesn't support repair | 9610 | test.t1 repair status OK |
2936 | 9611 | # check layout success: 1 | 9611 | # check layout success: 1 |
2937 | 9612 | TRUNCATE t1; | 9612 | TRUNCATE t1; |
2938 | 9613 | 9613 | ||
2939 | @@ -10124,7 +10124,7 @@ | |||
2940 | 10124 | # check layout success: 1 | 10124 | # check layout success: 1 |
2941 | 10125 | REPAIR TABLE t1 EXTENDED; | 10125 | REPAIR TABLE t1 EXTENDED; |
2942 | 10126 | Table Op Msg_type Msg_text | 10126 | Table Op Msg_type Msg_text |
2944 | 10127 | test.t1 repair note The storage engine for the table doesn't support repair | 10127 | test.t1 repair status OK |
2945 | 10128 | # check layout success: 1 | 10128 | # check layout success: 1 |
2946 | 10129 | TRUNCATE t1; | 10129 | TRUNCATE t1; |
2947 | 10130 | 10130 | ||
2948 | @@ -10639,7 +10639,7 @@ | |||
2949 | 10639 | # check layout success: 1 | 10639 | # check layout success: 1 |
2950 | 10640 | REPAIR TABLE t1 EXTENDED; | 10640 | REPAIR TABLE t1 EXTENDED; |
2951 | 10641 | Table Op Msg_type Msg_text | 10641 | Table Op Msg_type Msg_text |
2953 | 10642 | test.t1 repair note The storage engine for the table doesn't support repair | 10642 | test.t1 repair status OK |
2954 | 10643 | # check layout success: 1 | 10643 | # check layout success: 1 |
2955 | 10644 | TRUNCATE t1; | 10644 | TRUNCATE t1; |
2956 | 10645 | 10645 | ||
2957 | @@ -11165,7 +11165,7 @@ | |||
2958 | 11165 | # check layout success: 1 | 11165 | # check layout success: 1 |
2959 | 11166 | REPAIR TABLE t1 EXTENDED; | 11166 | REPAIR TABLE t1 EXTENDED; |
2960 | 11167 | Table Op Msg_type Msg_text | 11167 | Table Op Msg_type Msg_text |
2962 | 11168 | test.t1 repair note The storage engine for the table doesn't support repair | 11168 | test.t1 repair status OK |
2963 | 11169 | # check layout success: 1 | 11169 | # check layout success: 1 |
2964 | 11170 | TRUNCATE t1; | 11170 | TRUNCATE t1; |
2965 | 11171 | 11171 | ||
2966 | @@ -11693,7 +11693,7 @@ | |||
2967 | 11693 | # check layout success: 1 | 11693 | # check layout success: 1 |
2968 | 11694 | REPAIR TABLE t1 EXTENDED; | 11694 | REPAIR TABLE t1 EXTENDED; |
2969 | 11695 | Table Op Msg_type Msg_text | 11695 | Table Op Msg_type Msg_text |
2971 | 11696 | test.t1 repair note The storage engine for the table doesn't support repair | 11696 | test.t1 repair status OK |
2972 | 11697 | # check layout success: 1 | 11697 | # check layout success: 1 |
2973 | 11698 | TRUNCATE t1; | 11698 | TRUNCATE t1; |
2974 | 11699 | 11699 | ||
2975 | @@ -12209,7 +12209,7 @@ | |||
2976 | 12209 | # check layout success: 1 | 12209 | # check layout success: 1 |
2977 | 12210 | REPAIR TABLE t1 EXTENDED; | 12210 | REPAIR TABLE t1 EXTENDED; |
2978 | 12211 | Table Op Msg_type Msg_text | 12211 | Table Op Msg_type Msg_text |
2980 | 12212 | test.t1 repair note The storage engine for the table doesn't support repair | 12212 | test.t1 repair status OK |
2981 | 12213 | # check layout success: 1 | 12213 | # check layout success: 1 |
2982 | 12214 | TRUNCATE t1; | 12214 | TRUNCATE t1; |
2983 | 12215 | 12215 | ||
2984 | @@ -12718,7 +12718,7 @@ | |||
2985 | 12718 | # check layout success: 1 | 12718 | # check layout success: 1 |
2986 | 12719 | REPAIR TABLE t1 EXTENDED; | 12719 | REPAIR TABLE t1 EXTENDED; |
2987 | 12720 | Table Op Msg_type Msg_text | 12720 | Table Op Msg_type Msg_text |
2989 | 12721 | test.t1 repair note The storage engine for the table doesn't support repair | 12721 | test.t1 repair status OK |
2990 | 12722 | # check layout success: 1 | 12722 | # check layout success: 1 |
2991 | 12723 | TRUNCATE t1; | 12723 | TRUNCATE t1; |
2992 | 12724 | 12724 | ||
2993 | @@ -13226,7 +13226,7 @@ | |||
2994 | 13226 | # check layout success: 1 | 13226 | # check layout success: 1 |
2995 | 13227 | REPAIR TABLE t1 EXTENDED; | 13227 | REPAIR TABLE t1 EXTENDED; |
2996 | 13228 | Table Op Msg_type Msg_text | 13228 | Table Op Msg_type Msg_text |
2998 | 13229 | test.t1 repair note The storage engine for the table doesn't support repair | 13229 | test.t1 repair status OK |
2999 | 13230 | # check layout success: 1 | 13230 | # check layout success: 1 |
3000 | 13231 | TRUNCATE t1; | 13231 | TRUNCATE t1; |
3001 | 13232 | 13232 | ||
3002 | @@ -13749,7 +13749,7 @@ | |||
3003 | 13749 | # check layout success: 1 | 13749 | # check layout success: 1 |
3004 | 13750 | REPAIR TABLE t1 EXTENDED; | 13750 | REPAIR TABLE t1 EXTENDED; |
3005 | 13751 | Table Op Msg_type Msg_text | 13751 | Table Op Msg_type Msg_text |
3007 | 13752 | test.t1 repair note The storage engine for the table doesn't support repair | 13752 | test.t1 repair status OK |
3008 | 13753 | # check layout success: 1 | 13753 | # check layout success: 1 |
3009 | 13754 | TRUNCATE t1; | 13754 | TRUNCATE t1; |
3010 | 13755 | 13755 | ||
3011 | @@ -14266,7 +14266,7 @@ | |||
3012 | 14266 | # check layout success: 1 | 14266 | # check layout success: 1 |
3013 | 14267 | REPAIR TABLE t1 EXTENDED; | 14267 | REPAIR TABLE t1 EXTENDED; |
3014 | 14268 | Table Op Msg_type Msg_text | 14268 | Table Op Msg_type Msg_text |
3016 | 14269 | test.t1 repair note The storage engine for the table doesn't support repair | 14269 | test.t1 repair status OK |
3017 | 14270 | # check layout success: 1 | 14270 | # check layout success: 1 |
3018 | 14271 | TRUNCATE t1; | 14271 | TRUNCATE t1; |
3019 | 14272 | 14272 | ||
3020 | @@ -14781,7 +14781,7 @@ | |||
3021 | 14781 | # check layout success: 1 | 14781 | # check layout success: 1 |
3022 | 14782 | REPAIR TABLE t1 EXTENDED; | 14782 | REPAIR TABLE t1 EXTENDED; |
3023 | 14783 | Table Op Msg_type Msg_text | 14783 | Table Op Msg_type Msg_text |
3025 | 14784 | test.t1 repair note The storage engine for the table doesn't support repair | 14784 | test.t1 repair status OK |
3026 | 14785 | # check layout success: 1 | 14785 | # check layout success: 1 |
3027 | 14786 | TRUNCATE t1; | 14786 | TRUNCATE t1; |
3028 | 14787 | 14787 | ||
3029 | @@ -15307,7 +15307,7 @@ | |||
3030 | 15307 | # check layout success: 1 | 15307 | # check layout success: 1 |
3031 | 15308 | REPAIR TABLE t1 EXTENDED; | 15308 | REPAIR TABLE t1 EXTENDED; |
3032 | 15309 | Table Op Msg_type Msg_text | 15309 | Table Op Msg_type Msg_text |
3034 | 15310 | test.t1 repair note The storage engine for the table doesn't support repair | 15310 | test.t1 repair status OK |
3035 | 15311 | # check layout success: 1 | 15311 | # check layout success: 1 |
3036 | 15312 | TRUNCATE t1; | 15312 | TRUNCATE t1; |
3037 | 15313 | 15313 | ||
3038 | @@ -15835,7 +15835,7 @@ | |||
3039 | 15835 | # check layout success: 1 | 15835 | # check layout success: 1 |
3040 | 15836 | REPAIR TABLE t1 EXTENDED; | 15836 | REPAIR TABLE t1 EXTENDED; |
3041 | 15837 | Table Op Msg_type Msg_text | 15837 | Table Op Msg_type Msg_text |
3043 | 15838 | test.t1 repair note The storage engine for the table doesn't support repair | 15838 | test.t1 repair status OK |
3044 | 15839 | # check layout success: 1 | 15839 | # check layout success: 1 |
3045 | 15840 | TRUNCATE t1; | 15840 | TRUNCATE t1; |
3046 | 15841 | 15841 | ||
3047 | @@ -16351,7 +16351,7 @@ | |||
3048 | 16351 | # check layout success: 1 | 16351 | # check layout success: 1 |
3049 | 16352 | REPAIR TABLE t1 EXTENDED; | 16352 | REPAIR TABLE t1 EXTENDED; |
3050 | 16353 | Table Op Msg_type Msg_text | 16353 | Table Op Msg_type Msg_text |
3052 | 16354 | test.t1 repair note The storage engine for the table doesn't support repair | 16354 | test.t1 repair status OK |
3053 | 16355 | # check layout success: 1 | 16355 | # check layout success: 1 |
3054 | 16356 | TRUNCATE t1; | 16356 | TRUNCATE t1; |
3055 | 16357 | 16357 | ||
3056 | @@ -16846,11579 +16846,11579 @@ | |||
3057 | 16846 | # check layout success: 1 | 16846 | # check layout success: 1 |
3058 | 16847 | REPAIR TABLE t1 EXTENDED; | 16847 | REPAIR TABLE t1 EXTENDED; |
3059 | 16848 | Table Op Msg_type Msg_text | 16848 | Table Op Msg_type Msg_text |
3060 | 16849 | test.t1 repair note The storage engine for the table doesn't support repair | ||
3061 | 16850 | # check layout success: 1 | ||
3062 | 16851 | TRUNCATE t1; | ||
3063 | 16852 | |||
3064 | 16853 | # check TRUNCATE success: 1 | ||
3065 | 16854 | # check layout success: 1 | ||
3066 | 16855 | # End usability test (inc/partition_check.inc) | ||
3067 | 16856 | DROP TABLE t1; | ||
3068 | 16857 | CREATE TABLE t1 ( | ||
3069 | 16858 | f_int1 INTEGER, | ||
3070 | 16859 | f_int2 INTEGER, | ||
3071 | 16860 | f_char1 CHAR(20), | ||
3072 | 16861 | f_char2 CHAR(20), | ||
3073 | 16862 | f_charbig VARCHAR(1000) | ||
3074 | 16863 | |||
3075 | 16864 | ) | ||
3076 | 16865 | PARTITION BY KEY(f_int1,f_int2) PARTITIONS 5; | ||
3077 | 16866 | INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3078 | 16867 | SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template | ||
3079 | 16868 | WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1; | ||
3080 | 16869 | ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_int1); | ||
3081 | 16870 | INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3082 | 16871 | SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template | ||
3083 | 16872 | WHERE f_int1 BETWEEN @max_row_div2 AND @max_row; | ||
3084 | 16873 | # Start usability test (inc/partition_check.inc) | ||
3085 | 16874 | create_command | ||
3086 | 16875 | SHOW CREATE TABLE t1; | ||
3087 | 16876 | Table Create Table | ||
3088 | 16877 | t1 CREATE TABLE `t1` ( | ||
3089 | 16878 | `f_int1` int(11) NOT NULL DEFAULT '0', | ||
3090 | 16879 | `f_int2` int(11) NOT NULL DEFAULT '0', | ||
3091 | 16880 | `f_char1` char(20) DEFAULT NULL, | ||
3092 | 16881 | `f_char2` char(20) DEFAULT NULL, | ||
3093 | 16882 | `f_charbig` varchar(1000) DEFAULT NULL, | ||
3094 | 16883 | PRIMARY KEY (`f_int2`,`f_int1`), | ||
3095 | 16884 | UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) | ||
3096 | 16885 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1 | ||
3097 | 16886 | /*!50100 PARTITION BY KEY (f_int1,f_int2) | ||
3098 | 16887 | PARTITIONS 5 */ | ||
3099 | 16888 | |||
3100 | 16889 | # check prerequisites-1 success: 1 | ||
3101 | 16890 | # check COUNT(*) success: 1 | ||
3102 | 16891 | # check MIN/MAX(f_int1) success: 1 | ||
3103 | 16892 | # check MIN/MAX(f_int2) success: 1 | ||
3104 | 16893 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
3105 | 16894 | SELECT f_int1, f_int1, CAST(f_int1 AS CHAR), | ||
3106 | 16895 | CAST(f_int1 AS CHAR), 'delete me' FROM t0_template | ||
3107 | 16896 | WHERE f_int1 IN (2,3); | ||
3108 | 16897 | ERROR 23000: Duplicate entry '2-2' for key 'PRIMARY' | ||
3109 | 16898 | # check prerequisites-3 success: 1 | ||
3110 | 16899 | # INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE | ||
3111 | 16900 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
3112 | 16901 | SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR), | ||
3113 | 16902 | CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template | ||
3114 | 16903 | WHERE f_int1 IN (2,3); | ||
3115 | 16904 | DELETE FROM t1 WHERE f_charbig = 'delete me'; | ||
3116 | 16905 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
3117 | 16906 | SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR), | ||
3118 | 16907 | CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template | ||
3119 | 16908 | WHERE f_int1 IN (2,3); | ||
3120 | 16909 | DELETE FROM t1 WHERE f_charbig = 'delete me'; | ||
3121 | 16910 | # check read via f_int1 success: 1 | ||
3122 | 16911 | # check read via f_int2 success: 1 | ||
3123 | 16912 | |||
3124 | 16913 | # check multiple-1 success: 1 | ||
3125 | 16914 | DELETE FROM t1 WHERE MOD(f_int1,3) = 0; | ||
3126 | 16915 | |||
3127 | 16916 | # check multiple-2 success: 1 | ||
3128 | 16917 | INSERT INTO t1 SELECT * FROM t0_template | ||
3129 | 16918 | WHERE MOD(f_int1,3) = 0; | ||
3130 | 16919 | |||
3131 | 16920 | # check multiple-3 success: 1 | ||
3132 | 16921 | UPDATE t1 SET f_int1 = f_int1 + @max_row | ||
3133 | 16922 | WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 | ||
3134 | 16923 | AND @max_row_div2 + @max_row_div4; | ||
3135 | 16924 | |||
3136 | 16925 | # check multiple-4 success: 1 | ||
3137 | 16926 | DELETE FROM t1 | ||
3138 | 16927 | WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row | ||
3139 | 16928 | AND @max_row_div2 + @max_row_div4 + @max_row; | ||
3140 | 16929 | |||
3141 | 16930 | # check multiple-5 success: 1 | ||
3142 | 16931 | SELECT COUNT(*) INTO @try_count FROM t0_template | ||
3143 | 16932 | WHERE MOD(f_int1,3) = 0 | ||
3144 | 16933 | AND f_int1 BETWEEN @max_row_div2 AND @max_row; | ||
3145 | 16934 | SELECT COUNT(*) INTO @clash_count | ||
3146 | 16935 | FROM t1 INNER JOIN t0_template USING(f_int1) | ||
3147 | 16936 | WHERE MOD(f_int1,3) = 0 | ||
3148 | 16937 | AND f_int1 BETWEEN @max_row_div2 AND @max_row; | ||
3149 | 16938 | SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1; | ||
3150 | 16939 | INSERT INTO t1 | ||
3151 | 16940 | SET f_int1 = @cur_value , f_int2 = @cur_value, | ||
3152 | 16941 | f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR), | ||
3153 | 16942 | f_charbig = '#SINGLE#'; | ||
3154 | 16943 | |||
3155 | 16944 | # check single-1 success: 1 | ||
3156 | 16945 | SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1; | ||
3157 | 16946 | INSERT INTO t1 | ||
3158 | 16947 | SET f_int1 = @cur_value , f_int2 = @cur_value, | ||
3159 | 16948 | f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR), | ||
3160 | 16949 | f_charbig = '#SINGLE#'; | ||
3161 | 16950 | |||
3162 | 16951 | # check single-2 success: 1 | ||
3163 | 16952 | SELECT MIN(f_int1) INTO @cur_value1 FROM t1; | ||
3164 | 16953 | SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1; | ||
3165 | 16954 | UPDATE t1 SET f_int1 = @cur_value2 | ||
3166 | 16955 | WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#'; | ||
3167 | 16956 | |||
3168 | 16957 | # check single-3 success: 1 | ||
3169 | 16958 | SET @cur_value1= -1; | ||
3170 | 16959 | SELECT MAX(f_int1) INTO @cur_value2 FROM t1; | ||
3171 | 16960 | UPDATE t1 SET f_int1 = @cur_value1 | ||
3172 | 16961 | WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#'; | ||
3173 | 16962 | |||
3174 | 16963 | # check single-4 success: 1 | ||
3175 | 16964 | SELECT MAX(f_int1) INTO @cur_value FROM t1; | ||
3176 | 16965 | DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#'; | ||
3177 | 16966 | |||
3178 | 16967 | # check single-5 success: 1 | ||
3179 | 16968 | DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#'; | ||
3180 | 16969 | |||
3181 | 16970 | # check single-6 success: 1 | ||
3182 | 16971 | INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##'; | ||
3183 | 16972 | |||
3184 | 16973 | # check single-7 success: 1 | ||
3185 | 16974 | DELETE FROM t1 WHERE f_charbig = '#2147483647##'; | ||
3186 | 16975 | DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0; | ||
3187 | 16976 | INSERT t1 SET f_int1 = 0 , f_int2 = 0, | ||
3188 | 16977 | f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR), | ||
3189 | 16978 | f_charbig = '#NULL#'; | ||
3190 | 16979 | INSERT INTO t1 | ||
3191 | 16980 | SET f_int1 = NULL , f_int2 = -@max_row, | ||
3192 | 16981 | f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR), | ||
3193 | 16982 | f_charbig = '#NULL#'; | ||
3194 | 16983 | ERROR 23000: Column 'f_int1' cannot be null | ||
3195 | 16984 | # check null success: 1 | ||
3196 | 16985 | DELETE FROM t1 | ||
3197 | 16986 | WHERE f_int1 = 0 AND f_int2 = 0 | ||
3198 | 16987 | AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR) | ||
3199 | 16988 | AND f_charbig = '#NULL#'; | ||
3200 | 16989 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
3201 | 16990 | SELECT f_int1, f_int1, '', '', 'was inserted' | ||
3202 | 16991 | FROM t0_template source_tab | ||
3203 | 16992 | WHERE MOD(f_int1,3) = 0 | ||
3204 | 16993 | AND f_int1 BETWEEN @max_row_div2 AND @max_row | ||
3205 | 16994 | ON DUPLICATE KEY | ||
3206 | 16995 | UPDATE f_int1 = 2 * @max_row + source_tab.f_int1, | ||
3207 | 16996 | f_int2 = 2 * @max_row + source_tab.f_int1, | ||
3208 | 16997 | f_charbig = 'was updated'; | ||
3209 | 16998 | |||
3210 | 16999 | # check unique-1-a success: 1 | ||
3211 | 17000 | |||
3212 | 17001 | # check unique-1-b success: 1 | ||
3213 | 17002 | DELETE FROM t1 WHERE f_charbig = 'was inserted'; | ||
3214 | 17003 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
3215 | 17004 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
3216 | 17005 | f_charbig = CONCAT('===',f_char1,'===') | ||
3217 | 17006 | WHERE f_charbig = 'was updated'; | ||
3218 | 17007 | REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
3219 | 17008 | SELECT f_int1, - f_int1, '', '', 'was inserted or replaced' | ||
3220 | 17009 | FROM t0_template source_tab | ||
3221 | 17010 | WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row; | ||
3222 | 17011 | |||
3223 | 17012 | # check replace success: 1 | ||
3224 | 17013 | DELETE FROM t1 | ||
3225 | 17014 | WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4; | ||
3226 | 17015 | DELETE FROM t1 | ||
3227 | 17016 | WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND | ||
3228 | 17017 | f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row; | ||
3229 | 17018 | UPDATE t1 SET f_int2 = f_int1, | ||
3230 | 17019 | f_char1 = CAST(f_int1 AS CHAR), | ||
3231 | 17020 | f_char2 = CAST(f_int1 AS CHAR), | ||
3232 | 17021 | f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===') | ||
3233 | 17022 | WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2; | ||
3234 | 17023 | SET AUTOCOMMIT= 0; | ||
3235 | 17024 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
3236 | 17025 | SELECT f_int1, f_int1, '', '', 'was inserted' | ||
3237 | 17026 | FROM t0_template source_tab | ||
3238 | 17027 | WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4; | ||
3239 | 17028 | |||
3240 | 17029 | # check transactions-1 success: 1 | ||
3241 | 17030 | COMMIT WORK; | ||
3242 | 17031 | |||
3243 | 17032 | # check transactions-2 success: 1 | ||
3244 | 17033 | ROLLBACK WORK; | ||
3245 | 17034 | |||
3246 | 17035 | # check transactions-3 success: 1 | ||
3247 | 17036 | DELETE FROM t1 WHERE f_charbig = 'was inserted'; | ||
3248 | 17037 | COMMIT WORK; | ||
3249 | 17038 | ROLLBACK WORK; | ||
3250 | 17039 | |||
3251 | 17040 | # check transactions-4 success: 1 | ||
3252 | 17041 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
3253 | 17042 | SELECT f_int1, f_int1, '', '', 'was inserted' | ||
3254 | 17043 | FROM t0_template source_tab | ||
3255 | 17044 | WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4; | ||
3256 | 17045 | |||
3257 | 17046 | # check transactions-5 success: 1 | ||
3258 | 17047 | ROLLBACK WORK; | ||
3259 | 17048 | |||
3260 | 17049 | # check transactions-6 success: 1 | ||
3261 | 17050 | # INFO: Storage engine used for t1 seems to be transactional. | ||
3262 | 17051 | COMMIT; | ||
3263 | 17052 | |||
3264 | 17053 | # check transactions-7 success: 1 | ||
3265 | 17054 | DELETE FROM t1 WHERE f_charbig = 'was inserted'; | ||
3266 | 17055 | COMMIT WORK; | ||
3267 | 17056 | SET @@session.sql_mode = 'traditional'; | ||
3268 | 17057 | SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows; | ||
3269 | 17058 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
3270 | 17059 | SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1, | ||
3271 | 17060 | '', '', 'was inserted' FROM t0_template | ||
3272 | 17061 | WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4; | ||
3273 | 17062 | ERROR 22012: Division by 0 | ||
3274 | 17063 | COMMIT; | ||
3275 | 17064 | |||
3276 | 17065 | # check transactions-8 success: 1 | ||
3277 | 17066 | # INFO: Storage engine used for t1 seems to be able to revert | ||
3278 | 17067 | # changes made by the failing statement. | ||
3279 | 17068 | SET @@session.sql_mode = ''; | ||
3280 | 17069 | SET AUTOCOMMIT= 1; | ||
3281 | 17070 | DELETE FROM t1 WHERE f_charbig = 'was inserted'; | ||
3282 | 17071 | COMMIT WORK; | ||
3283 | 17072 | UPDATE t1 SET f_charbig = REPEAT('b', 1000); | ||
3284 | 17073 | |||
3285 | 17074 | # check special-1 success: 1 | ||
3286 | 17075 | UPDATE t1 SET f_charbig = ''; | ||
3287 | 17076 | |||
3288 | 17077 | # check special-2 success: 1 | ||
3289 | 17078 | UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'==='); | ||
3290 | 17079 | INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3291 | 17080 | SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template | ||
3292 | 17081 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3293 | 17082 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3294 | 17083 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
3295 | 17084 | 'just inserted' FROM t0_template | ||
3296 | 17085 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3297 | 17086 | CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW | ||
3298 | 17087 | BEGIN | ||
3299 | 17088 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
3300 | 17089 | f_charbig = 'updated by trigger' | ||
3301 | 17090 | WHERE f_int1 = new.f_int1; | ||
3302 | 17091 | END| | ||
3303 | 17092 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3304 | 17093 | SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template | ||
3305 | 17094 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3306 | 17095 | |||
3307 | 17096 | # check trigger-1 success: 1 | ||
3308 | 17097 | DROP TRIGGER trg_1; | ||
3309 | 17098 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
3310 | 17099 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
3311 | 17100 | f_charbig = 'just inserted' | ||
3312 | 17101 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
3313 | 17102 | DELETE FROM t0_aux | ||
3314 | 17103 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3315 | 17104 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3316 | 17105 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
3317 | 17106 | 'just inserted' FROM t0_template | ||
3318 | 17107 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3319 | 17108 | CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW | ||
3320 | 17109 | BEGIN | ||
3321 | 17110 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
3322 | 17111 | f_charbig = 'updated by trigger' | ||
3323 | 17112 | WHERE f_int1 = new.f_int1; | ||
3324 | 17113 | END| | ||
3325 | 17114 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3326 | 17115 | SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template | ||
3327 | 17116 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3328 | 17117 | |||
3329 | 17118 | # check trigger-2 success: 1 | ||
3330 | 17119 | DROP TRIGGER trg_1; | ||
3331 | 17120 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
3332 | 17121 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
3333 | 17122 | f_charbig = 'just inserted' | ||
3334 | 17123 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
3335 | 17124 | DELETE FROM t0_aux | ||
3336 | 17125 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3337 | 17126 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3338 | 17127 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
3339 | 17128 | 'just inserted' FROM t0_template | ||
3340 | 17129 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3341 | 17130 | CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW | ||
3342 | 17131 | BEGIN | ||
3343 | 17132 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
3344 | 17133 | f_charbig = 'updated by trigger' | ||
3345 | 17134 | WHERE f_int1 = new.f_int1; | ||
3346 | 17135 | END| | ||
3347 | 17136 | UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2 | ||
3348 | 17137 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
3349 | 17138 | |||
3350 | 17139 | # check trigger-3 success: 1 | ||
3351 | 17140 | DROP TRIGGER trg_1; | ||
3352 | 17141 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
3353 | 17142 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
3354 | 17143 | f_charbig = 'just inserted' | ||
3355 | 17144 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
3356 | 17145 | DELETE FROM t0_aux | ||
3357 | 17146 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3358 | 17147 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3359 | 17148 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
3360 | 17149 | 'just inserted' FROM t0_template | ||
3361 | 17150 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3362 | 17151 | CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW | ||
3363 | 17152 | BEGIN | ||
3364 | 17153 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
3365 | 17154 | f_charbig = 'updated by trigger' | ||
3366 | 17155 | WHERE f_int1 = - old.f_int1; | ||
3367 | 17156 | END| | ||
3368 | 17157 | UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2 | ||
3369 | 17158 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
3370 | 17159 | |||
3371 | 17160 | # check trigger-4 success: 1 | ||
3372 | 17161 | DROP TRIGGER trg_1; | ||
3373 | 17162 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
3374 | 17163 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
3375 | 17164 | f_charbig = 'just inserted' | ||
3376 | 17165 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
3377 | 17166 | DELETE FROM t0_aux | ||
3378 | 17167 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3379 | 17168 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3380 | 17169 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
3381 | 17170 | 'just inserted' FROM t0_template | ||
3382 | 17171 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3383 | 17172 | CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW | ||
3384 | 17173 | BEGIN | ||
3385 | 17174 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
3386 | 17175 | f_charbig = 'updated by trigger' | ||
3387 | 17176 | WHERE f_int1 = new.f_int1; | ||
3388 | 17177 | END| | ||
3389 | 17178 | UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2 | ||
3390 | 17179 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
3391 | 17180 | |||
3392 | 17181 | # check trigger-5 success: 1 | ||
3393 | 17182 | DROP TRIGGER trg_1; | ||
3394 | 17183 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
3395 | 17184 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
3396 | 17185 | f_charbig = 'just inserted' | ||
3397 | 17186 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
3398 | 17187 | DELETE FROM t0_aux | ||
3399 | 17188 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3400 | 17189 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3401 | 17190 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
3402 | 17191 | 'just inserted' FROM t0_template | ||
3403 | 17192 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3404 | 17193 | CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW | ||
3405 | 17194 | BEGIN | ||
3406 | 17195 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
3407 | 17196 | f_charbig = 'updated by trigger' | ||
3408 | 17197 | WHERE f_int1 = - old.f_int1; | ||
3409 | 17198 | END| | ||
3410 | 17199 | UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2 | ||
3411 | 17200 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
3412 | 17201 | |||
3413 | 17202 | # check trigger-6 success: 1 | ||
3414 | 17203 | DROP TRIGGER trg_1; | ||
3415 | 17204 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
3416 | 17205 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
3417 | 17206 | f_charbig = 'just inserted' | ||
3418 | 17207 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
3419 | 17208 | DELETE FROM t0_aux | ||
3420 | 17209 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3421 | 17210 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3422 | 17211 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
3423 | 17212 | 'just inserted' FROM t0_template | ||
3424 | 17213 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3425 | 17214 | CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW | ||
3426 | 17215 | BEGIN | ||
3427 | 17216 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
3428 | 17217 | f_charbig = 'updated by trigger' | ||
3429 | 17218 | WHERE f_int1 = - old.f_int1; | ||
3430 | 17219 | END| | ||
3431 | 17220 | DELETE FROM t0_aux | ||
3432 | 17221 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
3433 | 17222 | |||
3434 | 17223 | # check trigger-7 success: 1 | ||
3435 | 17224 | DROP TRIGGER trg_1; | ||
3436 | 17225 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
3437 | 17226 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
3438 | 17227 | f_charbig = 'just inserted' | ||
3439 | 17228 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
3440 | 17229 | DELETE FROM t0_aux | ||
3441 | 17230 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3442 | 17231 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3443 | 17232 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
3444 | 17233 | 'just inserted' FROM t0_template | ||
3445 | 17234 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3446 | 17235 | CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW | ||
3447 | 17236 | BEGIN | ||
3448 | 17237 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
3449 | 17238 | f_charbig = 'updated by trigger' | ||
3450 | 17239 | WHERE f_int1 = - old.f_int1; | ||
3451 | 17240 | END| | ||
3452 | 17241 | DELETE FROM t0_aux | ||
3453 | 17242 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
3454 | 17243 | |||
3455 | 17244 | # check trigger-8 success: 1 | ||
3456 | 17245 | DROP TRIGGER trg_1; | ||
3457 | 17246 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
3458 | 17247 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
3459 | 17248 | f_charbig = 'just inserted' | ||
3460 | 17249 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
3461 | 17250 | DELETE FROM t0_aux | ||
3462 | 17251 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3463 | 17252 | DELETE FROM t1 | ||
3464 | 17253 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3465 | 17254 | CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW | ||
3466 | 17255 | BEGIN | ||
3467 | 17256 | SET new.f_int1 = old.f_int1 + @max_row, | ||
3468 | 17257 | new.f_int2 = old.f_int2 - @max_row, | ||
3469 | 17258 | new.f_charbig = '####updated per update trigger####'; | ||
3470 | 17259 | END| | ||
3471 | 17260 | UPDATE t1 | ||
3472 | 17261 | SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row, | ||
3473 | 17262 | f_charbig = '####updated per update statement itself####'; | ||
3474 | 17263 | |||
3475 | 17264 | # check trigger-9 success: 1 | ||
3476 | 17265 | DROP TRIGGER trg_2; | ||
3477 | 17266 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
3478 | 17267 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
3479 | 17268 | f_charbig = CONCAT('===',f_char1,'==='); | ||
3480 | 17269 | CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW | ||
3481 | 17270 | BEGIN | ||
3482 | 17271 | SET new.f_int1 = new.f_int1 + @max_row, | ||
3483 | 17272 | new.f_int2 = new.f_int2 - @max_row, | ||
3484 | 17273 | new.f_charbig = '####updated per update trigger####'; | ||
3485 | 17274 | END| | ||
3486 | 17275 | UPDATE t1 | ||
3487 | 17276 | SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row, | ||
3488 | 17277 | f_charbig = '####updated per update statement itself####'; | ||
3489 | 17278 | |||
3490 | 17279 | # check trigger-10 success: 1 | ||
3491 | 17280 | DROP TRIGGER trg_2; | ||
3492 | 17281 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
3493 | 17282 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
3494 | 17283 | f_charbig = CONCAT('===',f_char1,'==='); | ||
3495 | 17284 | CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW | ||
3496 | 17285 | BEGIN | ||
3497 | 17286 | SET new.f_int1 = @my_max1 + @counter, | ||
3498 | 17287 | new.f_int2 = @my_min2 - @counter, | ||
3499 | 17288 | new.f_charbig = '####updated per insert trigger####'; | ||
3500 | 17289 | SET @counter = @counter + 1; | ||
3501 | 17290 | END| | ||
3502 | 17291 | SET @counter = 1; | ||
3503 | 17292 | SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1; | ||
3504 | 17293 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
3505 | 17294 | SELECT f_int1, f_int1, CAST(f_int1 AS CHAR), | ||
3506 | 17295 | CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template | ||
3507 | 17296 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1 | ||
3508 | 17297 | ORDER BY f_int1; | ||
3509 | 17298 | DROP TRIGGER trg_3; | ||
3510 | 17299 | |||
3511 | 17300 | # check trigger-11 success: 1 | ||
3512 | 17301 | DELETE FROM t1 | ||
3513 | 17302 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT) | ||
3514 | 17303 | AND f_int2 <> CAST(f_char1 AS SIGNED INT) | ||
3515 | 17304 | AND f_charbig = '####updated per insert trigger####'; | ||
3516 | 17305 | CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW | ||
3517 | 17306 | BEGIN | ||
3518 | 17307 | SET new.f_int1 = @my_max1 + @counter, | ||
3519 | 17308 | new.f_int2 = @my_min2 - @counter, | ||
3520 | 17309 | new.f_charbig = '####updated per insert trigger####'; | ||
3521 | 17310 | SET @counter = @counter + 1; | ||
3522 | 17311 | END| | ||
3523 | 17312 | SET @counter = 1; | ||
3524 | 17313 | SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1; | ||
3525 | 17314 | INSERT INTO t1 (f_char1, f_char2, f_charbig) | ||
3526 | 17315 | SELECT CAST(f_int1 AS CHAR), | ||
3527 | 17316 | CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template | ||
3528 | 17317 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1 | ||
3529 | 17318 | ORDER BY f_int1; | ||
3530 | 17319 | DROP TRIGGER trg_3; | ||
3531 | 17320 | |||
3532 | 17321 | # check trigger-12 success: 1 | ||
3533 | 17322 | DELETE FROM t1 | ||
3534 | 17323 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT) | ||
3535 | 17324 | AND f_int2 <> CAST(f_char1 AS SIGNED INT) | ||
3536 | 17325 | AND f_charbig = '####updated per insert trigger####'; | ||
3537 | 17326 | ANALYZE TABLE t1; | ||
3538 | 17327 | Table Op Msg_type Msg_text | ||
3539 | 17328 | test.t1 analyze status OK | ||
3540 | 17329 | CHECK TABLE t1 EXTENDED; | ||
3541 | 17330 | Table Op Msg_type Msg_text | ||
3542 | 17331 | test.t1 check status OK | ||
3543 | 17332 | CHECKSUM TABLE t1 EXTENDED; | ||
3544 | 17333 | Table Checksum | ||
3545 | 17334 | test.t1 <some_value> | ||
3546 | 17335 | OPTIMIZE TABLE t1; | ||
3547 | 17336 | Table Op Msg_type Msg_text | ||
3548 | 17337 | test.t1 optimize note Table does not support optimize, doing recreate + analyze instead | ||
3549 | 17338 | test.t1 optimize status OK | ||
3550 | 17339 | # check layout success: 1 | ||
3551 | 17340 | REPAIR TABLE t1 EXTENDED; | ||
3552 | 17341 | Table Op Msg_type Msg_text | ||
3553 | 17342 | test.t1 repair note The storage engine for the table doesn't support repair | ||
3554 | 17343 | # check layout success: 1 | ||
3555 | 17344 | TRUNCATE t1; | ||
3556 | 17345 | |||
3557 | 17346 | # check TRUNCATE success: 1 | ||
3558 | 17347 | # check layout success: 1 | ||
3559 | 17348 | # End usability test (inc/partition_check.inc) | ||
3560 | 17349 | DROP TABLE t1; | ||
3561 | 17350 | CREATE TABLE t1 ( | ||
3562 | 17351 | f_int1 INTEGER, | ||
3563 | 17352 | f_int2 INTEGER, | ||
3564 | 17353 | f_char1 CHAR(20), | ||
3565 | 17354 | f_char2 CHAR(20), | ||
3566 | 17355 | f_charbig VARCHAR(1000) | ||
3567 | 17356 | |||
3568 | 17357 | ) | ||
3569 | 17358 | PARTITION BY LIST(MOD(f_int1 + f_int2,4)) | ||
3570 | 17359 | (PARTITION part_3 VALUES IN (-3), | ||
3571 | 17360 | PARTITION part_2 VALUES IN (-2), | ||
3572 | 17361 | PARTITION part_1 VALUES IN (-1), | ||
3573 | 17362 | PARTITION part_N VALUES IN (NULL), | ||
3574 | 17363 | PARTITION part0 VALUES IN (0), | ||
3575 | 17364 | PARTITION part1 VALUES IN (1), | ||
3576 | 17365 | PARTITION part2 VALUES IN (2), | ||
3577 | 17366 | PARTITION part3 VALUES IN (3)); | ||
3578 | 17367 | INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3579 | 17368 | SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template | ||
3580 | 17369 | WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1; | ||
3581 | 17370 | ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_int1); | ||
3582 | 17371 | INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3583 | 17372 | SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template | ||
3584 | 17373 | WHERE f_int1 BETWEEN @max_row_div2 AND @max_row; | ||
3585 | 17374 | # Start usability test (inc/partition_check.inc) | ||
3586 | 17375 | create_command | ||
3587 | 17376 | SHOW CREATE TABLE t1; | ||
3588 | 17377 | Table Create Table | ||
3589 | 17378 | t1 CREATE TABLE `t1` ( | ||
3590 | 17379 | `f_int1` int(11) NOT NULL DEFAULT '0', | ||
3591 | 17380 | `f_int2` int(11) NOT NULL DEFAULT '0', | ||
3592 | 17381 | `f_char1` char(20) DEFAULT NULL, | ||
3593 | 17382 | `f_char2` char(20) DEFAULT NULL, | ||
3594 | 17383 | `f_charbig` varchar(1000) DEFAULT NULL, | ||
3595 | 17384 | PRIMARY KEY (`f_int2`,`f_int1`), | ||
3596 | 17385 | UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) | ||
3597 | 17386 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1 | ||
3598 | 17387 | /*!50100 PARTITION BY LIST (MOD(f_int1 + f_int2,4)) | ||
3599 | 17388 | (PARTITION part_3 VALUES IN (-3) ENGINE = InnoDB, | ||
3600 | 17389 | PARTITION part_2 VALUES IN (-2) ENGINE = InnoDB, | ||
3601 | 17390 | PARTITION part_1 VALUES IN (-1) ENGINE = InnoDB, | ||
3602 | 17391 | PARTITION part_N VALUES IN (NULL) ENGINE = InnoDB, | ||
3603 | 17392 | PARTITION part0 VALUES IN (0) ENGINE = InnoDB, | ||
3604 | 17393 | PARTITION part1 VALUES IN (1) ENGINE = InnoDB, | ||
3605 | 17394 | PARTITION part2 VALUES IN (2) ENGINE = InnoDB, | ||
3606 | 17395 | PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */ | ||
3607 | 17396 | |||
3608 | 17397 | # check prerequisites-1 success: 1 | ||
3609 | 17398 | # check COUNT(*) success: 1 | ||
3610 | 17399 | # check MIN/MAX(f_int1) success: 1 | ||
3611 | 17400 | # check MIN/MAX(f_int2) success: 1 | ||
3612 | 17401 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
3613 | 17402 | SELECT f_int1, f_int1, CAST(f_int1 AS CHAR), | ||
3614 | 17403 | CAST(f_int1 AS CHAR), 'delete me' FROM t0_template | ||
3615 | 17404 | WHERE f_int1 IN (2,3); | ||
3616 | 17405 | ERROR 23000: Duplicate entry '2-2' for key 'PRIMARY' | ||
3617 | 17406 | # check prerequisites-3 success: 1 | ||
3618 | 17407 | # INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE | ||
3619 | 17408 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
3620 | 17409 | SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR), | ||
3621 | 17410 | CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template | ||
3622 | 17411 | WHERE f_int1 IN (2,3); | ||
3623 | 17412 | DELETE FROM t1 WHERE f_charbig = 'delete me'; | ||
3624 | 17413 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
3625 | 17414 | SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR), | ||
3626 | 17415 | CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template | ||
3627 | 17416 | WHERE f_int1 IN (2,3); | ||
3628 | 17417 | DELETE FROM t1 WHERE f_charbig = 'delete me'; | ||
3629 | 17418 | # check read via f_int1 success: 1 | ||
3630 | 17419 | # check read via f_int2 success: 1 | ||
3631 | 17420 | |||
3632 | 17421 | # check multiple-1 success: 1 | ||
3633 | 17422 | DELETE FROM t1 WHERE MOD(f_int1,3) = 0; | ||
3634 | 17423 | |||
3635 | 17424 | # check multiple-2 success: 1 | ||
3636 | 17425 | INSERT INTO t1 SELECT * FROM t0_template | ||
3637 | 17426 | WHERE MOD(f_int1,3) = 0; | ||
3638 | 17427 | |||
3639 | 17428 | # check multiple-3 success: 1 | ||
3640 | 17429 | UPDATE t1 SET f_int1 = f_int1 + @max_row | ||
3641 | 17430 | WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 | ||
3642 | 17431 | AND @max_row_div2 + @max_row_div4; | ||
3643 | 17432 | |||
3644 | 17433 | # check multiple-4 success: 1 | ||
3645 | 17434 | DELETE FROM t1 | ||
3646 | 17435 | WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row | ||
3647 | 17436 | AND @max_row_div2 + @max_row_div4 + @max_row; | ||
3648 | 17437 | |||
3649 | 17438 | # check multiple-5 success: 1 | ||
3650 | 17439 | SELECT COUNT(*) INTO @try_count FROM t0_template | ||
3651 | 17440 | WHERE MOD(f_int1,3) = 0 | ||
3652 | 17441 | AND f_int1 BETWEEN @max_row_div2 AND @max_row; | ||
3653 | 17442 | SELECT COUNT(*) INTO @clash_count | ||
3654 | 17443 | FROM t1 INNER JOIN t0_template USING(f_int1) | ||
3655 | 17444 | WHERE MOD(f_int1,3) = 0 | ||
3656 | 17445 | AND f_int1 BETWEEN @max_row_div2 AND @max_row; | ||
3657 | 17446 | SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1; | ||
3658 | 17447 | INSERT INTO t1 | ||
3659 | 17448 | SET f_int1 = @cur_value , f_int2 = @cur_value, | ||
3660 | 17449 | f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR), | ||
3661 | 17450 | f_charbig = '#SINGLE#'; | ||
3662 | 17451 | |||
3663 | 17452 | # check single-1 success: 1 | ||
3664 | 17453 | SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1; | ||
3665 | 17454 | INSERT INTO t1 | ||
3666 | 17455 | SET f_int1 = @cur_value , f_int2 = @cur_value, | ||
3667 | 17456 | f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR), | ||
3668 | 17457 | f_charbig = '#SINGLE#'; | ||
3669 | 17458 | |||
3670 | 17459 | # check single-2 success: 1 | ||
3671 | 17460 | SELECT MIN(f_int1) INTO @cur_value1 FROM t1; | ||
3672 | 17461 | SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1; | ||
3673 | 17462 | UPDATE t1 SET f_int1 = @cur_value2 | ||
3674 | 17463 | WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#'; | ||
3675 | 17464 | |||
3676 | 17465 | # check single-3 success: 1 | ||
3677 | 17466 | SET @cur_value1= -1; | ||
3678 | 17467 | SELECT MAX(f_int1) INTO @cur_value2 FROM t1; | ||
3679 | 17468 | UPDATE t1 SET f_int1 = @cur_value1 | ||
3680 | 17469 | WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#'; | ||
3681 | 17470 | |||
3682 | 17471 | # check single-4 success: 1 | ||
3683 | 17472 | SELECT MAX(f_int1) INTO @cur_value FROM t1; | ||
3684 | 17473 | DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#'; | ||
3685 | 17474 | |||
3686 | 17475 | # check single-5 success: 1 | ||
3687 | 17476 | DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#'; | ||
3688 | 17477 | |||
3689 | 17478 | # check single-6 success: 1 | ||
3690 | 17479 | INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##'; | ||
3691 | 17480 | |||
3692 | 17481 | # check single-7 success: 1 | ||
3693 | 17482 | DELETE FROM t1 WHERE f_charbig = '#2147483647##'; | ||
3694 | 17483 | DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0; | ||
3695 | 17484 | INSERT t1 SET f_int1 = 0 , f_int2 = 0, | ||
3696 | 17485 | f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR), | ||
3697 | 17486 | f_charbig = '#NULL#'; | ||
3698 | 17487 | INSERT INTO t1 | ||
3699 | 17488 | SET f_int1 = NULL , f_int2 = -@max_row, | ||
3700 | 17489 | f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR), | ||
3701 | 17490 | f_charbig = '#NULL#'; | ||
3702 | 17491 | ERROR 23000: Column 'f_int1' cannot be null | ||
3703 | 17492 | # check null success: 1 | ||
3704 | 17493 | DELETE FROM t1 | ||
3705 | 17494 | WHERE f_int1 = 0 AND f_int2 = 0 | ||
3706 | 17495 | AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR) | ||
3707 | 17496 | AND f_charbig = '#NULL#'; | ||
3708 | 17497 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
3709 | 17498 | SELECT f_int1, f_int1, '', '', 'was inserted' | ||
3710 | 17499 | FROM t0_template source_tab | ||
3711 | 17500 | WHERE MOD(f_int1,3) = 0 | ||
3712 | 17501 | AND f_int1 BETWEEN @max_row_div2 AND @max_row | ||
3713 | 17502 | ON DUPLICATE KEY | ||
3714 | 17503 | UPDATE f_int1 = 2 * @max_row + source_tab.f_int1, | ||
3715 | 17504 | f_int2 = 2 * @max_row + source_tab.f_int1, | ||
3716 | 17505 | f_charbig = 'was updated'; | ||
3717 | 17506 | |||
3718 | 17507 | # check unique-1-a success: 1 | ||
3719 | 17508 | |||
3720 | 17509 | # check unique-1-b success: 1 | ||
3721 | 17510 | DELETE FROM t1 WHERE f_charbig = 'was inserted'; | ||
3722 | 17511 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
3723 | 17512 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
3724 | 17513 | f_charbig = CONCAT('===',f_char1,'===') | ||
3725 | 17514 | WHERE f_charbig = 'was updated'; | ||
3726 | 17515 | REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
3727 | 17516 | SELECT f_int1, - f_int1, '', '', 'was inserted or replaced' | ||
3728 | 17517 | FROM t0_template source_tab | ||
3729 | 17518 | WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row; | ||
3730 | 17519 | |||
3731 | 17520 | # check replace success: 1 | ||
3732 | 17521 | DELETE FROM t1 | ||
3733 | 17522 | WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4; | ||
3734 | 17523 | DELETE FROM t1 | ||
3735 | 17524 | WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND | ||
3736 | 17525 | f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row; | ||
3737 | 17526 | UPDATE t1 SET f_int2 = f_int1, | ||
3738 | 17527 | f_char1 = CAST(f_int1 AS CHAR), | ||
3739 | 17528 | f_char2 = CAST(f_int1 AS CHAR), | ||
3740 | 17529 | f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===') | ||
3741 | 17530 | WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2; | ||
3742 | 17531 | SET AUTOCOMMIT= 0; | ||
3743 | 17532 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
3744 | 17533 | SELECT f_int1, f_int1, '', '', 'was inserted' | ||
3745 | 17534 | FROM t0_template source_tab | ||
3746 | 17535 | WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4; | ||
3747 | 17536 | |||
3748 | 17537 | # check transactions-1 success: 1 | ||
3749 | 17538 | COMMIT WORK; | ||
3750 | 17539 | |||
3751 | 17540 | # check transactions-2 success: 1 | ||
3752 | 17541 | ROLLBACK WORK; | ||
3753 | 17542 | |||
3754 | 17543 | # check transactions-3 success: 1 | ||
3755 | 17544 | DELETE FROM t1 WHERE f_charbig = 'was inserted'; | ||
3756 | 17545 | COMMIT WORK; | ||
3757 | 17546 | ROLLBACK WORK; | ||
3758 | 17547 | |||
3759 | 17548 | # check transactions-4 success: 1 | ||
3760 | 17549 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
3761 | 17550 | SELECT f_int1, f_int1, '', '', 'was inserted' | ||
3762 | 17551 | FROM t0_template source_tab | ||
3763 | 17552 | WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4; | ||
3764 | 17553 | |||
3765 | 17554 | # check transactions-5 success: 1 | ||
3766 | 17555 | ROLLBACK WORK; | ||
3767 | 17556 | |||
3768 | 17557 | # check transactions-6 success: 1 | ||
3769 | 17558 | # INFO: Storage engine used for t1 seems to be transactional. | ||
3770 | 17559 | COMMIT; | ||
3771 | 17560 | |||
3772 | 17561 | # check transactions-7 success: 1 | ||
3773 | 17562 | DELETE FROM t1 WHERE f_charbig = 'was inserted'; | ||
3774 | 17563 | COMMIT WORK; | ||
3775 | 17564 | SET @@session.sql_mode = 'traditional'; | ||
3776 | 17565 | SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows; | ||
3777 | 17566 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
3778 | 17567 | SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1, | ||
3779 | 17568 | '', '', 'was inserted' FROM t0_template | ||
3780 | 17569 | WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4; | ||
3781 | 17570 | ERROR 22012: Division by 0 | ||
3782 | 17571 | COMMIT; | ||
3783 | 17572 | |||
3784 | 17573 | # check transactions-8 success: 1 | ||
3785 | 17574 | # INFO: Storage engine used for t1 seems to be able to revert | ||
3786 | 17575 | # changes made by the failing statement. | ||
3787 | 17576 | SET @@session.sql_mode = ''; | ||
3788 | 17577 | SET AUTOCOMMIT= 1; | ||
3789 | 17578 | DELETE FROM t1 WHERE f_charbig = 'was inserted'; | ||
3790 | 17579 | COMMIT WORK; | ||
3791 | 17580 | UPDATE t1 SET f_charbig = REPEAT('b', 1000); | ||
3792 | 17581 | |||
3793 | 17582 | # check special-1 success: 1 | ||
3794 | 17583 | UPDATE t1 SET f_charbig = ''; | ||
3795 | 17584 | |||
3796 | 17585 | # check special-2 success: 1 | ||
3797 | 17586 | UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'==='); | ||
3798 | 17587 | INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3799 | 17588 | SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template | ||
3800 | 17589 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3801 | 17590 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3802 | 17591 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
3803 | 17592 | 'just inserted' FROM t0_template | ||
3804 | 17593 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3805 | 17594 | CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW | ||
3806 | 17595 | BEGIN | ||
3807 | 17596 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
3808 | 17597 | f_charbig = 'updated by trigger' | ||
3809 | 17598 | WHERE f_int1 = new.f_int1; | ||
3810 | 17599 | END| | ||
3811 | 17600 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3812 | 17601 | SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template | ||
3813 | 17602 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3814 | 17603 | |||
3815 | 17604 | # check trigger-1 success: 1 | ||
3816 | 17605 | DROP TRIGGER trg_1; | ||
3817 | 17606 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
3818 | 17607 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
3819 | 17608 | f_charbig = 'just inserted' | ||
3820 | 17609 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
3821 | 17610 | DELETE FROM t0_aux | ||
3822 | 17611 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3823 | 17612 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3824 | 17613 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
3825 | 17614 | 'just inserted' FROM t0_template | ||
3826 | 17615 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3827 | 17616 | CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW | ||
3828 | 17617 | BEGIN | ||
3829 | 17618 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
3830 | 17619 | f_charbig = 'updated by trigger' | ||
3831 | 17620 | WHERE f_int1 = new.f_int1; | ||
3832 | 17621 | END| | ||
3833 | 17622 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3834 | 17623 | SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template | ||
3835 | 17624 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3836 | 17625 | |||
3837 | 17626 | # check trigger-2 success: 1 | ||
3838 | 17627 | DROP TRIGGER trg_1; | ||
3839 | 17628 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
3840 | 17629 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
3841 | 17630 | f_charbig = 'just inserted' | ||
3842 | 17631 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
3843 | 17632 | DELETE FROM t0_aux | ||
3844 | 17633 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3845 | 17634 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3846 | 17635 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
3847 | 17636 | 'just inserted' FROM t0_template | ||
3848 | 17637 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3849 | 17638 | CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW | ||
3850 | 17639 | BEGIN | ||
3851 | 17640 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
3852 | 17641 | f_charbig = 'updated by trigger' | ||
3853 | 17642 | WHERE f_int1 = new.f_int1; | ||
3854 | 17643 | END| | ||
3855 | 17644 | UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2 | ||
3856 | 17645 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
3857 | 17646 | |||
3858 | 17647 | # check trigger-3 success: 1 | ||
3859 | 17648 | DROP TRIGGER trg_1; | ||
3860 | 17649 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
3861 | 17650 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
3862 | 17651 | f_charbig = 'just inserted' | ||
3863 | 17652 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
3864 | 17653 | DELETE FROM t0_aux | ||
3865 | 17654 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3866 | 17655 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3867 | 17656 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
3868 | 17657 | 'just inserted' FROM t0_template | ||
3869 | 17658 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3870 | 17659 | CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW | ||
3871 | 17660 | BEGIN | ||
3872 | 17661 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
3873 | 17662 | f_charbig = 'updated by trigger' | ||
3874 | 17663 | WHERE f_int1 = - old.f_int1; | ||
3875 | 17664 | END| | ||
3876 | 17665 | UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2 | ||
3877 | 17666 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
3878 | 17667 | |||
3879 | 17668 | # check trigger-4 success: 1 | ||
3880 | 17669 | DROP TRIGGER trg_1; | ||
3881 | 17670 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
3882 | 17671 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
3883 | 17672 | f_charbig = 'just inserted' | ||
3884 | 17673 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
3885 | 17674 | DELETE FROM t0_aux | ||
3886 | 17675 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3887 | 17676 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3888 | 17677 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
3889 | 17678 | 'just inserted' FROM t0_template | ||
3890 | 17679 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3891 | 17680 | CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW | ||
3892 | 17681 | BEGIN | ||
3893 | 17682 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
3894 | 17683 | f_charbig = 'updated by trigger' | ||
3895 | 17684 | WHERE f_int1 = new.f_int1; | ||
3896 | 17685 | END| | ||
3897 | 17686 | UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2 | ||
3898 | 17687 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
3899 | 17688 | |||
3900 | 17689 | # check trigger-5 success: 1 | ||
3901 | 17690 | DROP TRIGGER trg_1; | ||
3902 | 17691 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
3903 | 17692 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
3904 | 17693 | f_charbig = 'just inserted' | ||
3905 | 17694 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
3906 | 17695 | DELETE FROM t0_aux | ||
3907 | 17696 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3908 | 17697 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3909 | 17698 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
3910 | 17699 | 'just inserted' FROM t0_template | ||
3911 | 17700 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3912 | 17701 | CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW | ||
3913 | 17702 | BEGIN | ||
3914 | 17703 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
3915 | 17704 | f_charbig = 'updated by trigger' | ||
3916 | 17705 | WHERE f_int1 = - old.f_int1; | ||
3917 | 17706 | END| | ||
3918 | 17707 | UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2 | ||
3919 | 17708 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
3920 | 17709 | |||
3921 | 17710 | # check trigger-6 success: 1 | ||
3922 | 17711 | DROP TRIGGER trg_1; | ||
3923 | 17712 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
3924 | 17713 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
3925 | 17714 | f_charbig = 'just inserted' | ||
3926 | 17715 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
3927 | 17716 | DELETE FROM t0_aux | ||
3928 | 17717 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3929 | 17718 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3930 | 17719 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
3931 | 17720 | 'just inserted' FROM t0_template | ||
3932 | 17721 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3933 | 17722 | CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW | ||
3934 | 17723 | BEGIN | ||
3935 | 17724 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
3936 | 17725 | f_charbig = 'updated by trigger' | ||
3937 | 17726 | WHERE f_int1 = - old.f_int1; | ||
3938 | 17727 | END| | ||
3939 | 17728 | DELETE FROM t0_aux | ||
3940 | 17729 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
3941 | 17730 | |||
3942 | 17731 | # check trigger-7 success: 1 | ||
3943 | 17732 | DROP TRIGGER trg_1; | ||
3944 | 17733 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
3945 | 17734 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
3946 | 17735 | f_charbig = 'just inserted' | ||
3947 | 17736 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
3948 | 17737 | DELETE FROM t0_aux | ||
3949 | 17738 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3950 | 17739 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
3951 | 17740 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
3952 | 17741 | 'just inserted' FROM t0_template | ||
3953 | 17742 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3954 | 17743 | CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW | ||
3955 | 17744 | BEGIN | ||
3956 | 17745 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
3957 | 17746 | f_charbig = 'updated by trigger' | ||
3958 | 17747 | WHERE f_int1 = - old.f_int1; | ||
3959 | 17748 | END| | ||
3960 | 17749 | DELETE FROM t0_aux | ||
3961 | 17750 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
3962 | 17751 | |||
3963 | 17752 | # check trigger-8 success: 1 | ||
3964 | 17753 | DROP TRIGGER trg_1; | ||
3965 | 17754 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
3966 | 17755 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
3967 | 17756 | f_charbig = 'just inserted' | ||
3968 | 17757 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
3969 | 17758 | DELETE FROM t0_aux | ||
3970 | 17759 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3971 | 17760 | DELETE FROM t1 | ||
3972 | 17761 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
3973 | 17762 | CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW | ||
3974 | 17763 | BEGIN | ||
3975 | 17764 | SET new.f_int1 = old.f_int1 + @max_row, | ||
3976 | 17765 | new.f_int2 = old.f_int2 - @max_row, | ||
3977 | 17766 | new.f_charbig = '####updated per update trigger####'; | ||
3978 | 17767 | END| | ||
3979 | 17768 | UPDATE t1 | ||
3980 | 17769 | SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row, | ||
3981 | 17770 | f_charbig = '####updated per update statement itself####'; | ||
3982 | 17771 | |||
3983 | 17772 | # check trigger-9 success: 1 | ||
3984 | 17773 | DROP TRIGGER trg_2; | ||
3985 | 17774 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
3986 | 17775 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
3987 | 17776 | f_charbig = CONCAT('===',f_char1,'==='); | ||
3988 | 17777 | CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW | ||
3989 | 17778 | BEGIN | ||
3990 | 17779 | SET new.f_int1 = new.f_int1 + @max_row, | ||
3991 | 17780 | new.f_int2 = new.f_int2 - @max_row, | ||
3992 | 17781 | new.f_charbig = '####updated per update trigger####'; | ||
3993 | 17782 | END| | ||
3994 | 17783 | UPDATE t1 | ||
3995 | 17784 | SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row, | ||
3996 | 17785 | f_charbig = '####updated per update statement itself####'; | ||
3997 | 17786 | |||
3998 | 17787 | # check trigger-10 success: 1 | ||
3999 | 17788 | DROP TRIGGER trg_2; | ||
4000 | 17789 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
4001 | 17790 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
4002 | 17791 | f_charbig = CONCAT('===',f_char1,'==='); | ||
4003 | 17792 | CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW | ||
4004 | 17793 | BEGIN | ||
4005 | 17794 | SET new.f_int1 = @my_max1 + @counter, | ||
4006 | 17795 | new.f_int2 = @my_min2 - @counter, | ||
4007 | 17796 | new.f_charbig = '####updated per insert trigger####'; | ||
4008 | 17797 | SET @counter = @counter + 1; | ||
4009 | 17798 | END| | ||
4010 | 17799 | SET @counter = 1; | ||
4011 | 17800 | SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1; | ||
4012 | 17801 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
4013 | 17802 | SELECT f_int1, f_int1, CAST(f_int1 AS CHAR), | ||
4014 | 17803 | CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template | ||
4015 | 17804 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1 | ||
4016 | 17805 | ORDER BY f_int1; | ||
4017 | 17806 | DROP TRIGGER trg_3; | ||
4018 | 17807 | |||
4019 | 17808 | # check trigger-11 success: 1 | ||
4020 | 17809 | DELETE FROM t1 | ||
4021 | 17810 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT) | ||
4022 | 17811 | AND f_int2 <> CAST(f_char1 AS SIGNED INT) | ||
4023 | 17812 | AND f_charbig = '####updated per insert trigger####'; | ||
4024 | 17813 | CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW | ||
4025 | 17814 | BEGIN | ||
4026 | 17815 | SET new.f_int1 = @my_max1 + @counter, | ||
4027 | 17816 | new.f_int2 = @my_min2 - @counter, | ||
4028 | 17817 | new.f_charbig = '####updated per insert trigger####'; | ||
4029 | 17818 | SET @counter = @counter + 1; | ||
4030 | 17819 | END| | ||
4031 | 17820 | SET @counter = 1; | ||
4032 | 17821 | SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1; | ||
4033 | 17822 | INSERT INTO t1 (f_char1, f_char2, f_charbig) | ||
4034 | 17823 | SELECT CAST(f_int1 AS CHAR), | ||
4035 | 17824 | CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template | ||
4036 | 17825 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1 | ||
4037 | 17826 | ORDER BY f_int1; | ||
4038 | 17827 | DROP TRIGGER trg_3; | ||
4039 | 17828 | |||
4040 | 17829 | # check trigger-12 success: 1 | ||
4041 | 17830 | DELETE FROM t1 | ||
4042 | 17831 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT) | ||
4043 | 17832 | AND f_int2 <> CAST(f_char1 AS SIGNED INT) | ||
4044 | 17833 | AND f_charbig = '####updated per insert trigger####'; | ||
4045 | 17834 | ANALYZE TABLE t1; | ||
4046 | 17835 | Table Op Msg_type Msg_text | ||
4047 | 17836 | test.t1 analyze status OK | ||
4048 | 17837 | CHECK TABLE t1 EXTENDED; | ||
4049 | 17838 | Table Op Msg_type Msg_text | ||
4050 | 17839 | test.t1 check status OK | ||
4051 | 17840 | CHECKSUM TABLE t1 EXTENDED; | ||
4052 | 17841 | Table Checksum | ||
4053 | 17842 | test.t1 <some_value> | ||
4054 | 17843 | OPTIMIZE TABLE t1; | ||
4055 | 17844 | Table Op Msg_type Msg_text | ||
4056 | 17845 | test.t1 optimize note Table does not support optimize, doing recreate + analyze instead | ||
4057 | 17846 | test.t1 optimize status OK | ||
4058 | 17847 | # check layout success: 1 | ||
4059 | 17848 | REPAIR TABLE t1 EXTENDED; | ||
4060 | 17849 | Table Op Msg_type Msg_text | ||
4061 | 17850 | test.t1 repair note The storage engine for the table doesn't support repair | ||
4062 | 17851 | # check layout success: 1 | ||
4063 | 17852 | TRUNCATE t1; | ||
4064 | 17853 | |||
4065 | 17854 | # check TRUNCATE success: 1 | ||
4066 | 17855 | # check layout success: 1 | ||
4067 | 17856 | # End usability test (inc/partition_check.inc) | ||
4068 | 17857 | DROP TABLE t1; | ||
4069 | 17858 | CREATE TABLE t1 ( | ||
4070 | 17859 | f_int1 INTEGER, | ||
4071 | 17860 | f_int2 INTEGER, | ||
4072 | 17861 | f_char1 CHAR(20), | ||
4073 | 17862 | f_char2 CHAR(20), | ||
4074 | 17863 | f_charbig VARCHAR(1000) | ||
4075 | 17864 | |||
4076 | 17865 | ) | ||
4077 | 17866 | PARTITION BY RANGE((f_int1 + f_int2) DIV 2) | ||
4078 | 17867 | (PARTITION parta VALUES LESS THAN (0), | ||
4079 | 17868 | PARTITION partb VALUES LESS THAN (5), | ||
4080 | 17869 | PARTITION partc VALUES LESS THAN (10), | ||
4081 | 17870 | PARTITION partd VALUES LESS THAN (10 + 5), | ||
4082 | 17871 | PARTITION parte VALUES LESS THAN (20), | ||
4083 | 17872 | PARTITION partf VALUES LESS THAN (2147483646)); | ||
4084 | 17873 | INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4085 | 17874 | SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template | ||
4086 | 17875 | WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1; | ||
4087 | 17876 | ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_int1); | ||
4088 | 17877 | INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4089 | 17878 | SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template | ||
4090 | 17879 | WHERE f_int1 BETWEEN @max_row_div2 AND @max_row; | ||
4091 | 17880 | # Start usability test (inc/partition_check.inc) | ||
4092 | 17881 | create_command | ||
4093 | 17882 | SHOW CREATE TABLE t1; | ||
4094 | 17883 | Table Create Table | ||
4095 | 17884 | t1 CREATE TABLE `t1` ( | ||
4096 | 17885 | `f_int1` int(11) NOT NULL DEFAULT '0', | ||
4097 | 17886 | `f_int2` int(11) NOT NULL DEFAULT '0', | ||
4098 | 17887 | `f_char1` char(20) DEFAULT NULL, | ||
4099 | 17888 | `f_char2` char(20) DEFAULT NULL, | ||
4100 | 17889 | `f_charbig` varchar(1000) DEFAULT NULL, | ||
4101 | 17890 | PRIMARY KEY (`f_int2`,`f_int1`), | ||
4102 | 17891 | UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) | ||
4103 | 17892 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1 | ||
4104 | 17893 | /*!50100 PARTITION BY RANGE ((f_int1 + f_int2) DIV 2) | ||
4105 | 17894 | (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, | ||
4106 | 17895 | PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, | ||
4107 | 17896 | PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, | ||
4108 | 17897 | PARTITION partd VALUES LESS THAN (15) ENGINE = InnoDB, | ||
4109 | 17898 | PARTITION parte VALUES LESS THAN (20) ENGINE = InnoDB, | ||
4110 | 17899 | PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ | ||
4111 | 17900 | |||
4112 | 17901 | # check prerequisites-1 success: 1 | ||
4113 | 17902 | # check COUNT(*) success: 1 | ||
4114 | 17903 | # check MIN/MAX(f_int1) success: 1 | ||
4115 | 17904 | # check MIN/MAX(f_int2) success: 1 | ||
4116 | 17905 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
4117 | 17906 | SELECT f_int1, f_int1, CAST(f_int1 AS CHAR), | ||
4118 | 17907 | CAST(f_int1 AS CHAR), 'delete me' FROM t0_template | ||
4119 | 17908 | WHERE f_int1 IN (2,3); | ||
4120 | 17909 | ERROR 23000: Duplicate entry '2-2' for key 'PRIMARY' | ||
4121 | 17910 | # check prerequisites-3 success: 1 | ||
4122 | 17911 | # INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE | ||
4123 | 17912 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
4124 | 17913 | SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR), | ||
4125 | 17914 | CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template | ||
4126 | 17915 | WHERE f_int1 IN (2,3); | ||
4127 | 17916 | DELETE FROM t1 WHERE f_charbig = 'delete me'; | ||
4128 | 17917 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
4129 | 17918 | SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR), | ||
4130 | 17919 | CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template | ||
4131 | 17920 | WHERE f_int1 IN (2,3); | ||
4132 | 17921 | DELETE FROM t1 WHERE f_charbig = 'delete me'; | ||
4133 | 17922 | # check read via f_int1 success: 1 | ||
4134 | 17923 | # check read via f_int2 success: 1 | ||
4135 | 17924 | |||
4136 | 17925 | # check multiple-1 success: 1 | ||
4137 | 17926 | DELETE FROM t1 WHERE MOD(f_int1,3) = 0; | ||
4138 | 17927 | |||
4139 | 17928 | # check multiple-2 success: 1 | ||
4140 | 17929 | INSERT INTO t1 SELECT * FROM t0_template | ||
4141 | 17930 | WHERE MOD(f_int1,3) = 0; | ||
4142 | 17931 | |||
4143 | 17932 | # check multiple-3 success: 1 | ||
4144 | 17933 | UPDATE t1 SET f_int1 = f_int1 + @max_row | ||
4145 | 17934 | WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 | ||
4146 | 17935 | AND @max_row_div2 + @max_row_div4; | ||
4147 | 17936 | |||
4148 | 17937 | # check multiple-4 success: 1 | ||
4149 | 17938 | DELETE FROM t1 | ||
4150 | 17939 | WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row | ||
4151 | 17940 | AND @max_row_div2 + @max_row_div4 + @max_row; | ||
4152 | 17941 | |||
4153 | 17942 | # check multiple-5 success: 1 | ||
4154 | 17943 | SELECT COUNT(*) INTO @try_count FROM t0_template | ||
4155 | 17944 | WHERE MOD(f_int1,3) = 0 | ||
4156 | 17945 | AND f_int1 BETWEEN @max_row_div2 AND @max_row; | ||
4157 | 17946 | SELECT COUNT(*) INTO @clash_count | ||
4158 | 17947 | FROM t1 INNER JOIN t0_template USING(f_int1) | ||
4159 | 17948 | WHERE MOD(f_int1,3) = 0 | ||
4160 | 17949 | AND f_int1 BETWEEN @max_row_div2 AND @max_row; | ||
4161 | 17950 | SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1; | ||
4162 | 17951 | INSERT INTO t1 | ||
4163 | 17952 | SET f_int1 = @cur_value , f_int2 = @cur_value, | ||
4164 | 17953 | f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR), | ||
4165 | 17954 | f_charbig = '#SINGLE#'; | ||
4166 | 17955 | |||
4167 | 17956 | # check single-1 success: 1 | ||
4168 | 17957 | SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1; | ||
4169 | 17958 | INSERT INTO t1 | ||
4170 | 17959 | SET f_int1 = @cur_value , f_int2 = @cur_value, | ||
4171 | 17960 | f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR), | ||
4172 | 17961 | f_charbig = '#SINGLE#'; | ||
4173 | 17962 | |||
4174 | 17963 | # check single-2 success: 1 | ||
4175 | 17964 | SELECT MIN(f_int1) INTO @cur_value1 FROM t1; | ||
4176 | 17965 | SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1; | ||
4177 | 17966 | UPDATE t1 SET f_int1 = @cur_value2 | ||
4178 | 17967 | WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#'; | ||
4179 | 17968 | |||
4180 | 17969 | # check single-3 success: 1 | ||
4181 | 17970 | SET @cur_value1= -1; | ||
4182 | 17971 | SELECT MAX(f_int1) INTO @cur_value2 FROM t1; | ||
4183 | 17972 | UPDATE t1 SET f_int1 = @cur_value1 | ||
4184 | 17973 | WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#'; | ||
4185 | 17974 | |||
4186 | 17975 | # check single-4 success: 1 | ||
4187 | 17976 | SELECT MAX(f_int1) INTO @cur_value FROM t1; | ||
4188 | 17977 | DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#'; | ||
4189 | 17978 | |||
4190 | 17979 | # check single-5 success: 1 | ||
4191 | 17980 | DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#'; | ||
4192 | 17981 | |||
4193 | 17982 | # check single-6 success: 1 | ||
4194 | 17983 | INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##'; | ||
4195 | 17984 | ERROR HY000: Table has no partition for value 2147483647 | ||
4196 | 17985 | DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0; | ||
4197 | 17986 | INSERT t1 SET f_int1 = 0 , f_int2 = 0, | ||
4198 | 17987 | f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR), | ||
4199 | 17988 | f_charbig = '#NULL#'; | ||
4200 | 17989 | INSERT INTO t1 | ||
4201 | 17990 | SET f_int1 = NULL , f_int2 = -@max_row, | ||
4202 | 17991 | f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR), | ||
4203 | 17992 | f_charbig = '#NULL#'; | ||
4204 | 17993 | ERROR 23000: Column 'f_int1' cannot be null | ||
4205 | 17994 | # check null success: 1 | ||
4206 | 17995 | DELETE FROM t1 | ||
4207 | 17996 | WHERE f_int1 = 0 AND f_int2 = 0 | ||
4208 | 17997 | AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR) | ||
4209 | 17998 | AND f_charbig = '#NULL#'; | ||
4210 | 17999 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
4211 | 18000 | SELECT f_int1, f_int1, '', '', 'was inserted' | ||
4212 | 18001 | FROM t0_template source_tab | ||
4213 | 18002 | WHERE MOD(f_int1,3) = 0 | ||
4214 | 18003 | AND f_int1 BETWEEN @max_row_div2 AND @max_row | ||
4215 | 18004 | ON DUPLICATE KEY | ||
4216 | 18005 | UPDATE f_int1 = 2 * @max_row + source_tab.f_int1, | ||
4217 | 18006 | f_int2 = 2 * @max_row + source_tab.f_int1, | ||
4218 | 18007 | f_charbig = 'was updated'; | ||
4219 | 18008 | |||
4220 | 18009 | # check unique-1-a success: 1 | ||
4221 | 18010 | |||
4222 | 18011 | # check unique-1-b success: 1 | ||
4223 | 18012 | DELETE FROM t1 WHERE f_charbig = 'was inserted'; | ||
4224 | 18013 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
4225 | 18014 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
4226 | 18015 | f_charbig = CONCAT('===',f_char1,'===') | ||
4227 | 18016 | WHERE f_charbig = 'was updated'; | ||
4228 | 18017 | REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
4229 | 18018 | SELECT f_int1, - f_int1, '', '', 'was inserted or replaced' | ||
4230 | 18019 | FROM t0_template source_tab | ||
4231 | 18020 | WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row; | ||
4232 | 18021 | |||
4233 | 18022 | # check replace success: 1 | ||
4234 | 18023 | DELETE FROM t1 | ||
4235 | 18024 | WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4; | ||
4236 | 18025 | DELETE FROM t1 | ||
4237 | 18026 | WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND | ||
4238 | 18027 | f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row; | ||
4239 | 18028 | UPDATE t1 SET f_int2 = f_int1, | ||
4240 | 18029 | f_char1 = CAST(f_int1 AS CHAR), | ||
4241 | 18030 | f_char2 = CAST(f_int1 AS CHAR), | ||
4242 | 18031 | f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===') | ||
4243 | 18032 | WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2; | ||
4244 | 18033 | SET AUTOCOMMIT= 0; | ||
4245 | 18034 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
4246 | 18035 | SELECT f_int1, f_int1, '', '', 'was inserted' | ||
4247 | 18036 | FROM t0_template source_tab | ||
4248 | 18037 | WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4; | ||
4249 | 18038 | |||
4250 | 18039 | # check transactions-1 success: 1 | ||
4251 | 18040 | COMMIT WORK; | ||
4252 | 18041 | |||
4253 | 18042 | # check transactions-2 success: 1 | ||
4254 | 18043 | ROLLBACK WORK; | ||
4255 | 18044 | |||
4256 | 18045 | # check transactions-3 success: 1 | ||
4257 | 18046 | DELETE FROM t1 WHERE f_charbig = 'was inserted'; | ||
4258 | 18047 | COMMIT WORK; | ||
4259 | 18048 | ROLLBACK WORK; | ||
4260 | 18049 | |||
4261 | 18050 | # check transactions-4 success: 1 | ||
4262 | 18051 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
4263 | 18052 | SELECT f_int1, f_int1, '', '', 'was inserted' | ||
4264 | 18053 | FROM t0_template source_tab | ||
4265 | 18054 | WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4; | ||
4266 | 18055 | |||
4267 | 18056 | # check transactions-5 success: 1 | ||
4268 | 18057 | ROLLBACK WORK; | ||
4269 | 18058 | |||
4270 | 18059 | # check transactions-6 success: 1 | ||
4271 | 18060 | # INFO: Storage engine used for t1 seems to be transactional. | ||
4272 | 18061 | COMMIT; | ||
4273 | 18062 | |||
4274 | 18063 | # check transactions-7 success: 1 | ||
4275 | 18064 | DELETE FROM t1 WHERE f_charbig = 'was inserted'; | ||
4276 | 18065 | COMMIT WORK; | ||
4277 | 18066 | SET @@session.sql_mode = 'traditional'; | ||
4278 | 18067 | SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows; | ||
4279 | 18068 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
4280 | 18069 | SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1, | ||
4281 | 18070 | '', '', 'was inserted' FROM t0_template | ||
4282 | 18071 | WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4; | ||
4283 | 18072 | ERROR 22012: Division by 0 | ||
4284 | 18073 | COMMIT; | ||
4285 | 18074 | |||
4286 | 18075 | # check transactions-8 success: 1 | ||
4287 | 18076 | # INFO: Storage engine used for t1 seems to be able to revert | ||
4288 | 18077 | # changes made by the failing statement. | ||
4289 | 18078 | SET @@session.sql_mode = ''; | ||
4290 | 18079 | SET AUTOCOMMIT= 1; | ||
4291 | 18080 | DELETE FROM t1 WHERE f_charbig = 'was inserted'; | ||
4292 | 18081 | COMMIT WORK; | ||
4293 | 18082 | UPDATE t1 SET f_charbig = REPEAT('b', 1000); | ||
4294 | 18083 | |||
4295 | 18084 | # check special-1 success: 1 | ||
4296 | 18085 | UPDATE t1 SET f_charbig = ''; | ||
4297 | 18086 | |||
4298 | 18087 | # check special-2 success: 1 | ||
4299 | 18088 | UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'==='); | ||
4300 | 18089 | INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4301 | 18090 | SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template | ||
4302 | 18091 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4303 | 18092 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4304 | 18093 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
4305 | 18094 | 'just inserted' FROM t0_template | ||
4306 | 18095 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4307 | 18096 | CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW | ||
4308 | 18097 | BEGIN | ||
4309 | 18098 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
4310 | 18099 | f_charbig = 'updated by trigger' | ||
4311 | 18100 | WHERE f_int1 = new.f_int1; | ||
4312 | 18101 | END| | ||
4313 | 18102 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4314 | 18103 | SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template | ||
4315 | 18104 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4316 | 18105 | |||
4317 | 18106 | # check trigger-1 success: 1 | ||
4318 | 18107 | DROP TRIGGER trg_1; | ||
4319 | 18108 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
4320 | 18109 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
4321 | 18110 | f_charbig = 'just inserted' | ||
4322 | 18111 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
4323 | 18112 | DELETE FROM t0_aux | ||
4324 | 18113 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4325 | 18114 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4326 | 18115 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
4327 | 18116 | 'just inserted' FROM t0_template | ||
4328 | 18117 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4329 | 18118 | CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW | ||
4330 | 18119 | BEGIN | ||
4331 | 18120 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
4332 | 18121 | f_charbig = 'updated by trigger' | ||
4333 | 18122 | WHERE f_int1 = new.f_int1; | ||
4334 | 18123 | END| | ||
4335 | 18124 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4336 | 18125 | SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template | ||
4337 | 18126 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4338 | 18127 | |||
4339 | 18128 | # check trigger-2 success: 1 | ||
4340 | 18129 | DROP TRIGGER trg_1; | ||
4341 | 18130 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
4342 | 18131 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
4343 | 18132 | f_charbig = 'just inserted' | ||
4344 | 18133 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
4345 | 18134 | DELETE FROM t0_aux | ||
4346 | 18135 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4347 | 18136 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4348 | 18137 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
4349 | 18138 | 'just inserted' FROM t0_template | ||
4350 | 18139 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4351 | 18140 | CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW | ||
4352 | 18141 | BEGIN | ||
4353 | 18142 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
4354 | 18143 | f_charbig = 'updated by trigger' | ||
4355 | 18144 | WHERE f_int1 = new.f_int1; | ||
4356 | 18145 | END| | ||
4357 | 18146 | UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2 | ||
4358 | 18147 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
4359 | 18148 | |||
4360 | 18149 | # check trigger-3 success: 1 | ||
4361 | 18150 | DROP TRIGGER trg_1; | ||
4362 | 18151 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
4363 | 18152 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
4364 | 18153 | f_charbig = 'just inserted' | ||
4365 | 18154 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
4366 | 18155 | DELETE FROM t0_aux | ||
4367 | 18156 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4368 | 18157 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4369 | 18158 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
4370 | 18159 | 'just inserted' FROM t0_template | ||
4371 | 18160 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4372 | 18161 | CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW | ||
4373 | 18162 | BEGIN | ||
4374 | 18163 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
4375 | 18164 | f_charbig = 'updated by trigger' | ||
4376 | 18165 | WHERE f_int1 = - old.f_int1; | ||
4377 | 18166 | END| | ||
4378 | 18167 | UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2 | ||
4379 | 18168 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
4380 | 18169 | |||
4381 | 18170 | # check trigger-4 success: 1 | ||
4382 | 18171 | DROP TRIGGER trg_1; | ||
4383 | 18172 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
4384 | 18173 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
4385 | 18174 | f_charbig = 'just inserted' | ||
4386 | 18175 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
4387 | 18176 | DELETE FROM t0_aux | ||
4388 | 18177 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4389 | 18178 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4390 | 18179 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
4391 | 18180 | 'just inserted' FROM t0_template | ||
4392 | 18181 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4393 | 18182 | CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW | ||
4394 | 18183 | BEGIN | ||
4395 | 18184 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
4396 | 18185 | f_charbig = 'updated by trigger' | ||
4397 | 18186 | WHERE f_int1 = new.f_int1; | ||
4398 | 18187 | END| | ||
4399 | 18188 | UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2 | ||
4400 | 18189 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
4401 | 18190 | |||
4402 | 18191 | # check trigger-5 success: 1 | ||
4403 | 18192 | DROP TRIGGER trg_1; | ||
4404 | 18193 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
4405 | 18194 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
4406 | 18195 | f_charbig = 'just inserted' | ||
4407 | 18196 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
4408 | 18197 | DELETE FROM t0_aux | ||
4409 | 18198 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4410 | 18199 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4411 | 18200 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
4412 | 18201 | 'just inserted' FROM t0_template | ||
4413 | 18202 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4414 | 18203 | CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW | ||
4415 | 18204 | BEGIN | ||
4416 | 18205 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
4417 | 18206 | f_charbig = 'updated by trigger' | ||
4418 | 18207 | WHERE f_int1 = - old.f_int1; | ||
4419 | 18208 | END| | ||
4420 | 18209 | UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2 | ||
4421 | 18210 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
4422 | 18211 | |||
4423 | 18212 | # check trigger-6 success: 1 | ||
4424 | 18213 | DROP TRIGGER trg_1; | ||
4425 | 18214 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
4426 | 18215 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
4427 | 18216 | f_charbig = 'just inserted' | ||
4428 | 18217 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
4429 | 18218 | DELETE FROM t0_aux | ||
4430 | 18219 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4431 | 18220 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4432 | 18221 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
4433 | 18222 | 'just inserted' FROM t0_template | ||
4434 | 18223 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4435 | 18224 | CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW | ||
4436 | 18225 | BEGIN | ||
4437 | 18226 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
4438 | 18227 | f_charbig = 'updated by trigger' | ||
4439 | 18228 | WHERE f_int1 = - old.f_int1; | ||
4440 | 18229 | END| | ||
4441 | 18230 | DELETE FROM t0_aux | ||
4442 | 18231 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
4443 | 18232 | |||
4444 | 18233 | # check trigger-7 success: 1 | ||
4445 | 18234 | DROP TRIGGER trg_1; | ||
4446 | 18235 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
4447 | 18236 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
4448 | 18237 | f_charbig = 'just inserted' | ||
4449 | 18238 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
4450 | 18239 | DELETE FROM t0_aux | ||
4451 | 18240 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4452 | 18241 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4453 | 18242 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
4454 | 18243 | 'just inserted' FROM t0_template | ||
4455 | 18244 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4456 | 18245 | CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW | ||
4457 | 18246 | BEGIN | ||
4458 | 18247 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
4459 | 18248 | f_charbig = 'updated by trigger' | ||
4460 | 18249 | WHERE f_int1 = - old.f_int1; | ||
4461 | 18250 | END| | ||
4462 | 18251 | DELETE FROM t0_aux | ||
4463 | 18252 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
4464 | 18253 | |||
4465 | 18254 | # check trigger-8 success: 1 | ||
4466 | 18255 | DROP TRIGGER trg_1; | ||
4467 | 18256 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
4468 | 18257 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
4469 | 18258 | f_charbig = 'just inserted' | ||
4470 | 18259 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
4471 | 18260 | DELETE FROM t0_aux | ||
4472 | 18261 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4473 | 18262 | DELETE FROM t1 | ||
4474 | 18263 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4475 | 18264 | CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW | ||
4476 | 18265 | BEGIN | ||
4477 | 18266 | SET new.f_int1 = old.f_int1 + @max_row, | ||
4478 | 18267 | new.f_int2 = old.f_int2 - @max_row, | ||
4479 | 18268 | new.f_charbig = '####updated per update trigger####'; | ||
4480 | 18269 | END| | ||
4481 | 18270 | UPDATE t1 | ||
4482 | 18271 | SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row, | ||
4483 | 18272 | f_charbig = '####updated per update statement itself####'; | ||
4484 | 18273 | |||
4485 | 18274 | # check trigger-9 success: 1 | ||
4486 | 18275 | DROP TRIGGER trg_2; | ||
4487 | 18276 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
4488 | 18277 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
4489 | 18278 | f_charbig = CONCAT('===',f_char1,'==='); | ||
4490 | 18279 | CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW | ||
4491 | 18280 | BEGIN | ||
4492 | 18281 | SET new.f_int1 = new.f_int1 + @max_row, | ||
4493 | 18282 | new.f_int2 = new.f_int2 - @max_row, | ||
4494 | 18283 | new.f_charbig = '####updated per update trigger####'; | ||
4495 | 18284 | END| | ||
4496 | 18285 | UPDATE t1 | ||
4497 | 18286 | SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row, | ||
4498 | 18287 | f_charbig = '####updated per update statement itself####'; | ||
4499 | 18288 | |||
4500 | 18289 | # check trigger-10 success: 1 | ||
4501 | 18290 | DROP TRIGGER trg_2; | ||
4502 | 18291 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
4503 | 18292 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
4504 | 18293 | f_charbig = CONCAT('===',f_char1,'==='); | ||
4505 | 18294 | CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW | ||
4506 | 18295 | BEGIN | ||
4507 | 18296 | SET new.f_int1 = @my_max1 + @counter, | ||
4508 | 18297 | new.f_int2 = @my_min2 - @counter, | ||
4509 | 18298 | new.f_charbig = '####updated per insert trigger####'; | ||
4510 | 18299 | SET @counter = @counter + 1; | ||
4511 | 18300 | END| | ||
4512 | 18301 | SET @counter = 1; | ||
4513 | 18302 | SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1; | ||
4514 | 18303 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
4515 | 18304 | SELECT f_int1, f_int1, CAST(f_int1 AS CHAR), | ||
4516 | 18305 | CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template | ||
4517 | 18306 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1 | ||
4518 | 18307 | ORDER BY f_int1; | ||
4519 | 18308 | DROP TRIGGER trg_3; | ||
4520 | 18309 | |||
4521 | 18310 | # check trigger-11 success: 1 | ||
4522 | 18311 | DELETE FROM t1 | ||
4523 | 18312 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT) | ||
4524 | 18313 | AND f_int2 <> CAST(f_char1 AS SIGNED INT) | ||
4525 | 18314 | AND f_charbig = '####updated per insert trigger####'; | ||
4526 | 18315 | CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW | ||
4527 | 18316 | BEGIN | ||
4528 | 18317 | SET new.f_int1 = @my_max1 + @counter, | ||
4529 | 18318 | new.f_int2 = @my_min2 - @counter, | ||
4530 | 18319 | new.f_charbig = '####updated per insert trigger####'; | ||
4531 | 18320 | SET @counter = @counter + 1; | ||
4532 | 18321 | END| | ||
4533 | 18322 | SET @counter = 1; | ||
4534 | 18323 | SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1; | ||
4535 | 18324 | INSERT INTO t1 (f_char1, f_char2, f_charbig) | ||
4536 | 18325 | SELECT CAST(f_int1 AS CHAR), | ||
4537 | 18326 | CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template | ||
4538 | 18327 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1 | ||
4539 | 18328 | ORDER BY f_int1; | ||
4540 | 18329 | DROP TRIGGER trg_3; | ||
4541 | 18330 | |||
4542 | 18331 | # check trigger-12 success: 1 | ||
4543 | 18332 | DELETE FROM t1 | ||
4544 | 18333 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT) | ||
4545 | 18334 | AND f_int2 <> CAST(f_char1 AS SIGNED INT) | ||
4546 | 18335 | AND f_charbig = '####updated per insert trigger####'; | ||
4547 | 18336 | ANALYZE TABLE t1; | ||
4548 | 18337 | Table Op Msg_type Msg_text | ||
4549 | 18338 | test.t1 analyze status OK | ||
4550 | 18339 | CHECK TABLE t1 EXTENDED; | ||
4551 | 18340 | Table Op Msg_type Msg_text | ||
4552 | 18341 | test.t1 check status OK | ||
4553 | 18342 | CHECKSUM TABLE t1 EXTENDED; | ||
4554 | 18343 | Table Checksum | ||
4555 | 18344 | test.t1 <some_value> | ||
4556 | 18345 | OPTIMIZE TABLE t1; | ||
4557 | 18346 | Table Op Msg_type Msg_text | ||
4558 | 18347 | test.t1 optimize note Table does not support optimize, doing recreate + analyze instead | ||
4559 | 18348 | test.t1 optimize status OK | ||
4560 | 18349 | # check layout success: 1 | ||
4561 | 18350 | REPAIR TABLE t1 EXTENDED; | ||
4562 | 18351 | Table Op Msg_type Msg_text | ||
4563 | 18352 | test.t1 repair note The storage engine for the table doesn't support repair | ||
4564 | 18353 | # check layout success: 1 | ||
4565 | 18354 | TRUNCATE t1; | ||
4566 | 18355 | |||
4567 | 18356 | # check TRUNCATE success: 1 | ||
4568 | 18357 | # check layout success: 1 | ||
4569 | 18358 | # End usability test (inc/partition_check.inc) | ||
4570 | 18359 | DROP TABLE t1; | ||
4571 | 18360 | CREATE TABLE t1 ( | ||
4572 | 18361 | f_int1 INTEGER, | ||
4573 | 18362 | f_int2 INTEGER, | ||
4574 | 18363 | f_char1 CHAR(20), | ||
4575 | 18364 | f_char2 CHAR(20), | ||
4576 | 18365 | f_charbig VARCHAR(1000) | ||
4577 | 18366 | |||
4578 | 18367 | ) | ||
4579 | 18368 | PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int2) SUBPARTITIONS 2 | ||
4580 | 18369 | (PARTITION parta VALUES LESS THAN (0), | ||
4581 | 18370 | PARTITION partb VALUES LESS THAN (5), | ||
4582 | 18371 | PARTITION partc VALUES LESS THAN (10), | ||
4583 | 18372 | PARTITION partd VALUES LESS THAN (2147483646)); | ||
4584 | 18373 | INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4585 | 18374 | SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template | ||
4586 | 18375 | WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1; | ||
4587 | 18376 | ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_int1); | ||
4588 | 18377 | INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4589 | 18378 | SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template | ||
4590 | 18379 | WHERE f_int1 BETWEEN @max_row_div2 AND @max_row; | ||
4591 | 18380 | # Start usability test (inc/partition_check.inc) | ||
4592 | 18381 | create_command | ||
4593 | 18382 | SHOW CREATE TABLE t1; | ||
4594 | 18383 | Table Create Table | ||
4595 | 18384 | t1 CREATE TABLE `t1` ( | ||
4596 | 18385 | `f_int1` int(11) NOT NULL DEFAULT '0', | ||
4597 | 18386 | `f_int2` int(11) NOT NULL DEFAULT '0', | ||
4598 | 18387 | `f_char1` char(20) DEFAULT NULL, | ||
4599 | 18388 | `f_char2` char(20) DEFAULT NULL, | ||
4600 | 18389 | `f_charbig` varchar(1000) DEFAULT NULL, | ||
4601 | 18390 | PRIMARY KEY (`f_int2`,`f_int1`), | ||
4602 | 18391 | UNIQUE KEY `uidx1` (`f_int1`,`f_int2`) | ||
4603 | 18392 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1 | ||
4604 | 18393 | /*!50100 PARTITION BY RANGE (f_int1) | ||
4605 | 18394 | SUBPARTITION BY HASH (f_int2) | ||
4606 | 18395 | SUBPARTITIONS 2 | ||
4607 | 18396 | (PARTITION parta VALUES LESS THAN (0) ENGINE = InnoDB, | ||
4608 | 18397 | PARTITION partb VALUES LESS THAN (5) ENGINE = InnoDB, | ||
4609 | 18398 | PARTITION partc VALUES LESS THAN (10) ENGINE = InnoDB, | ||
4610 | 18399 | PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */ | ||
4611 | 18400 | |||
4612 | 18401 | # check prerequisites-1 success: 1 | ||
4613 | 18402 | # check COUNT(*) success: 1 | ||
4614 | 18403 | # check MIN/MAX(f_int1) success: 1 | ||
4615 | 18404 | # check MIN/MAX(f_int2) success: 1 | ||
4616 | 18405 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
4617 | 18406 | SELECT f_int1, f_int1, CAST(f_int1 AS CHAR), | ||
4618 | 18407 | CAST(f_int1 AS CHAR), 'delete me' FROM t0_template | ||
4619 | 18408 | WHERE f_int1 IN (2,3); | ||
4620 | 18409 | ERROR 23000: Duplicate entry '2-2' for key 'PRIMARY' | ||
4621 | 18410 | # check prerequisites-3 success: 1 | ||
4622 | 18411 | # INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE | ||
4623 | 18412 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
4624 | 18413 | SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR), | ||
4625 | 18414 | CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template | ||
4626 | 18415 | WHERE f_int1 IN (2,3); | ||
4627 | 18416 | DELETE FROM t1 WHERE f_charbig = 'delete me'; | ||
4628 | 18417 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
4629 | 18418 | SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR), | ||
4630 | 18419 | CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template | ||
4631 | 18420 | WHERE f_int1 IN (2,3); | ||
4632 | 18421 | DELETE FROM t1 WHERE f_charbig = 'delete me'; | ||
4633 | 18422 | # check read via f_int1 success: 1 | ||
4634 | 18423 | # check read via f_int2 success: 1 | ||
4635 | 18424 | |||
4636 | 18425 | # check multiple-1 success: 1 | ||
4637 | 18426 | DELETE FROM t1 WHERE MOD(f_int1,3) = 0; | ||
4638 | 18427 | |||
4639 | 18428 | # check multiple-2 success: 1 | ||
4640 | 18429 | INSERT INTO t1 SELECT * FROM t0_template | ||
4641 | 18430 | WHERE MOD(f_int1,3) = 0; | ||
4642 | 18431 | |||
4643 | 18432 | # check multiple-3 success: 1 | ||
4644 | 18433 | UPDATE t1 SET f_int1 = f_int1 + @max_row | ||
4645 | 18434 | WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 | ||
4646 | 18435 | AND @max_row_div2 + @max_row_div4; | ||
4647 | 18436 | |||
4648 | 18437 | # check multiple-4 success: 1 | ||
4649 | 18438 | DELETE FROM t1 | ||
4650 | 18439 | WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row | ||
4651 | 18440 | AND @max_row_div2 + @max_row_div4 + @max_row; | ||
4652 | 18441 | |||
4653 | 18442 | # check multiple-5 success: 1 | ||
4654 | 18443 | SELECT COUNT(*) INTO @try_count FROM t0_template | ||
4655 | 18444 | WHERE MOD(f_int1,3) = 0 | ||
4656 | 18445 | AND f_int1 BETWEEN @max_row_div2 AND @max_row; | ||
4657 | 18446 | SELECT COUNT(*) INTO @clash_count | ||
4658 | 18447 | FROM t1 INNER JOIN t0_template USING(f_int1) | ||
4659 | 18448 | WHERE MOD(f_int1,3) = 0 | ||
4660 | 18449 | AND f_int1 BETWEEN @max_row_div2 AND @max_row; | ||
4661 | 18450 | SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1; | ||
4662 | 18451 | INSERT INTO t1 | ||
4663 | 18452 | SET f_int1 = @cur_value , f_int2 = @cur_value, | ||
4664 | 18453 | f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR), | ||
4665 | 18454 | f_charbig = '#SINGLE#'; | ||
4666 | 18455 | |||
4667 | 18456 | # check single-1 success: 1 | ||
4668 | 18457 | SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1; | ||
4669 | 18458 | INSERT INTO t1 | ||
4670 | 18459 | SET f_int1 = @cur_value , f_int2 = @cur_value, | ||
4671 | 18460 | f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR), | ||
4672 | 18461 | f_charbig = '#SINGLE#'; | ||
4673 | 18462 | |||
4674 | 18463 | # check single-2 success: 1 | ||
4675 | 18464 | SELECT MIN(f_int1) INTO @cur_value1 FROM t1; | ||
4676 | 18465 | SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1; | ||
4677 | 18466 | UPDATE t1 SET f_int1 = @cur_value2 | ||
4678 | 18467 | WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#'; | ||
4679 | 18468 | |||
4680 | 18469 | # check single-3 success: 1 | ||
4681 | 18470 | SET @cur_value1= -1; | ||
4682 | 18471 | SELECT MAX(f_int1) INTO @cur_value2 FROM t1; | ||
4683 | 18472 | UPDATE t1 SET f_int1 = @cur_value1 | ||
4684 | 18473 | WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#'; | ||
4685 | 18474 | |||
4686 | 18475 | # check single-4 success: 1 | ||
4687 | 18476 | SELECT MAX(f_int1) INTO @cur_value FROM t1; | ||
4688 | 18477 | DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#'; | ||
4689 | 18478 | |||
4690 | 18479 | # check single-5 success: 1 | ||
4691 | 18480 | DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#'; | ||
4692 | 18481 | |||
4693 | 18482 | # check single-6 success: 1 | ||
4694 | 18483 | INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##'; | ||
4695 | 18484 | ERROR HY000: Table has no partition for value 2147483647 | ||
4696 | 18485 | DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0; | ||
4697 | 18486 | INSERT t1 SET f_int1 = 0 , f_int2 = 0, | ||
4698 | 18487 | f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR), | ||
4699 | 18488 | f_charbig = '#NULL#'; | ||
4700 | 18489 | INSERT INTO t1 | ||
4701 | 18490 | SET f_int1 = NULL , f_int2 = -@max_row, | ||
4702 | 18491 | f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR), | ||
4703 | 18492 | f_charbig = '#NULL#'; | ||
4704 | 18493 | ERROR 23000: Column 'f_int1' cannot be null | ||
4705 | 18494 | # check null success: 1 | ||
4706 | 18495 | DELETE FROM t1 | ||
4707 | 18496 | WHERE f_int1 = 0 AND f_int2 = 0 | ||
4708 | 18497 | AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR) | ||
4709 | 18498 | AND f_charbig = '#NULL#'; | ||
4710 | 18499 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
4711 | 18500 | SELECT f_int1, f_int1, '', '', 'was inserted' | ||
4712 | 18501 | FROM t0_template source_tab | ||
4713 | 18502 | WHERE MOD(f_int1,3) = 0 | ||
4714 | 18503 | AND f_int1 BETWEEN @max_row_div2 AND @max_row | ||
4715 | 18504 | ON DUPLICATE KEY | ||
4716 | 18505 | UPDATE f_int1 = 2 * @max_row + source_tab.f_int1, | ||
4717 | 18506 | f_int2 = 2 * @max_row + source_tab.f_int1, | ||
4718 | 18507 | f_charbig = 'was updated'; | ||
4719 | 18508 | |||
4720 | 18509 | # check unique-1-a success: 1 | ||
4721 | 18510 | |||
4722 | 18511 | # check unique-1-b success: 1 | ||
4723 | 18512 | DELETE FROM t1 WHERE f_charbig = 'was inserted'; | ||
4724 | 18513 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
4725 | 18514 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
4726 | 18515 | f_charbig = CONCAT('===',f_char1,'===') | ||
4727 | 18516 | WHERE f_charbig = 'was updated'; | ||
4728 | 18517 | REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
4729 | 18518 | SELECT f_int1, - f_int1, '', '', 'was inserted or replaced' | ||
4730 | 18519 | FROM t0_template source_tab | ||
4731 | 18520 | WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row; | ||
4732 | 18521 | |||
4733 | 18522 | # check replace success: 1 | ||
4734 | 18523 | DELETE FROM t1 | ||
4735 | 18524 | WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4; | ||
4736 | 18525 | DELETE FROM t1 | ||
4737 | 18526 | WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND | ||
4738 | 18527 | f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row; | ||
4739 | 18528 | UPDATE t1 SET f_int2 = f_int1, | ||
4740 | 18529 | f_char1 = CAST(f_int1 AS CHAR), | ||
4741 | 18530 | f_char2 = CAST(f_int1 AS CHAR), | ||
4742 | 18531 | f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===') | ||
4743 | 18532 | WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2; | ||
4744 | 18533 | SET AUTOCOMMIT= 0; | ||
4745 | 18534 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
4746 | 18535 | SELECT f_int1, f_int1, '', '', 'was inserted' | ||
4747 | 18536 | FROM t0_template source_tab | ||
4748 | 18537 | WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4; | ||
4749 | 18538 | |||
4750 | 18539 | # check transactions-1 success: 1 | ||
4751 | 18540 | COMMIT WORK; | ||
4752 | 18541 | |||
4753 | 18542 | # check transactions-2 success: 1 | ||
4754 | 18543 | ROLLBACK WORK; | ||
4755 | 18544 | |||
4756 | 18545 | # check transactions-3 success: 1 | ||
4757 | 18546 | DELETE FROM t1 WHERE f_charbig = 'was inserted'; | ||
4758 | 18547 | COMMIT WORK; | ||
4759 | 18548 | ROLLBACK WORK; | ||
4760 | 18549 | |||
4761 | 18550 | # check transactions-4 success: 1 | ||
4762 | 18551 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
4763 | 18552 | SELECT f_int1, f_int1, '', '', 'was inserted' | ||
4764 | 18553 | FROM t0_template source_tab | ||
4765 | 18554 | WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4; | ||
4766 | 18555 | |||
4767 | 18556 | # check transactions-5 success: 1 | ||
4768 | 18557 | ROLLBACK WORK; | ||
4769 | 18558 | |||
4770 | 18559 | # check transactions-6 success: 1 | ||
4771 | 18560 | # INFO: Storage engine used for t1 seems to be transactional. | ||
4772 | 18561 | COMMIT; | ||
4773 | 18562 | |||
4774 | 18563 | # check transactions-7 success: 1 | ||
4775 | 18564 | DELETE FROM t1 WHERE f_charbig = 'was inserted'; | ||
4776 | 18565 | COMMIT WORK; | ||
4777 | 18566 | SET @@session.sql_mode = 'traditional'; | ||
4778 | 18567 | SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows; | ||
4779 | 18568 | INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig) | ||
4780 | 18569 | SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1, | ||
4781 | 18570 | '', '', 'was inserted' FROM t0_template | ||
4782 | 18571 | WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4; | ||
4783 | 18572 | ERROR 22012: Division by 0 | ||
4784 | 18573 | COMMIT; | ||
4785 | 18574 | |||
4786 | 18575 | # check transactions-8 success: 1 | ||
4787 | 18576 | # INFO: Storage engine used for t1 seems to be able to revert | ||
4788 | 18577 | # changes made by the failing statement. | ||
4789 | 18578 | SET @@session.sql_mode = ''; | ||
4790 | 18579 | SET AUTOCOMMIT= 1; | ||
4791 | 18580 | DELETE FROM t1 WHERE f_charbig = 'was inserted'; | ||
4792 | 18581 | COMMIT WORK; | ||
4793 | 18582 | UPDATE t1 SET f_charbig = REPEAT('b', 1000); | ||
4794 | 18583 | |||
4795 | 18584 | # check special-1 success: 1 | ||
4796 | 18585 | UPDATE t1 SET f_charbig = ''; | ||
4797 | 18586 | |||
4798 | 18587 | # check special-2 success: 1 | ||
4799 | 18588 | UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'==='); | ||
4800 | 18589 | INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4801 | 18590 | SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template | ||
4802 | 18591 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4803 | 18592 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4804 | 18593 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
4805 | 18594 | 'just inserted' FROM t0_template | ||
4806 | 18595 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4807 | 18596 | CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW | ||
4808 | 18597 | BEGIN | ||
4809 | 18598 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
4810 | 18599 | f_charbig = 'updated by trigger' | ||
4811 | 18600 | WHERE f_int1 = new.f_int1; | ||
4812 | 18601 | END| | ||
4813 | 18602 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4814 | 18603 | SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template | ||
4815 | 18604 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4816 | 18605 | |||
4817 | 18606 | # check trigger-1 success: 1 | ||
4818 | 18607 | DROP TRIGGER trg_1; | ||
4819 | 18608 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
4820 | 18609 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
4821 | 18610 | f_charbig = 'just inserted' | ||
4822 | 18611 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
4823 | 18612 | DELETE FROM t0_aux | ||
4824 | 18613 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4825 | 18614 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4826 | 18615 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
4827 | 18616 | 'just inserted' FROM t0_template | ||
4828 | 18617 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4829 | 18618 | CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW | ||
4830 | 18619 | BEGIN | ||
4831 | 18620 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
4832 | 18621 | f_charbig = 'updated by trigger' | ||
4833 | 18622 | WHERE f_int1 = new.f_int1; | ||
4834 | 18623 | END| | ||
4835 | 18624 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4836 | 18625 | SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template | ||
4837 | 18626 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4838 | 18627 | |||
4839 | 18628 | # check trigger-2 success: 1 | ||
4840 | 18629 | DROP TRIGGER trg_1; | ||
4841 | 18630 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
4842 | 18631 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
4843 | 18632 | f_charbig = 'just inserted' | ||
4844 | 18633 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
4845 | 18634 | DELETE FROM t0_aux | ||
4846 | 18635 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4847 | 18636 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4848 | 18637 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
4849 | 18638 | 'just inserted' FROM t0_template | ||
4850 | 18639 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4851 | 18640 | CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW | ||
4852 | 18641 | BEGIN | ||
4853 | 18642 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
4854 | 18643 | f_charbig = 'updated by trigger' | ||
4855 | 18644 | WHERE f_int1 = new.f_int1; | ||
4856 | 18645 | END| | ||
4857 | 18646 | UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2 | ||
4858 | 18647 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
4859 | 18648 | |||
4860 | 18649 | # check trigger-3 success: 1 | ||
4861 | 18650 | DROP TRIGGER trg_1; | ||
4862 | 18651 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
4863 | 18652 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
4864 | 18653 | f_charbig = 'just inserted' | ||
4865 | 18654 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
4866 | 18655 | DELETE FROM t0_aux | ||
4867 | 18656 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4868 | 18657 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4869 | 18658 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
4870 | 18659 | 'just inserted' FROM t0_template | ||
4871 | 18660 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4872 | 18661 | CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW | ||
4873 | 18662 | BEGIN | ||
4874 | 18663 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
4875 | 18664 | f_charbig = 'updated by trigger' | ||
4876 | 18665 | WHERE f_int1 = - old.f_int1; | ||
4877 | 18666 | END| | ||
4878 | 18667 | UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2 | ||
4879 | 18668 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
4880 | 18669 | |||
4881 | 18670 | # check trigger-4 success: 1 | ||
4882 | 18671 | DROP TRIGGER trg_1; | ||
4883 | 18672 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
4884 | 18673 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
4885 | 18674 | f_charbig = 'just inserted' | ||
4886 | 18675 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
4887 | 18676 | DELETE FROM t0_aux | ||
4888 | 18677 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4889 | 18678 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4890 | 18679 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
4891 | 18680 | 'just inserted' FROM t0_template | ||
4892 | 18681 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4893 | 18682 | CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW | ||
4894 | 18683 | BEGIN | ||
4895 | 18684 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
4896 | 18685 | f_charbig = 'updated by trigger' | ||
4897 | 18686 | WHERE f_int1 = new.f_int1; | ||
4898 | 18687 | END| | ||
4899 | 18688 | UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2 | ||
4900 | 18689 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
4901 | 18690 | |||
4902 | 18691 | # check trigger-5 success: 1 | ||
4903 | 18692 | DROP TRIGGER trg_1; | ||
4904 | 18693 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
4905 | 18694 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
4906 | 18695 | f_charbig = 'just inserted' | ||
4907 | 18696 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
4908 | 18697 | DELETE FROM t0_aux | ||
4909 | 18698 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4910 | 18699 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4911 | 18700 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
4912 | 18701 | 'just inserted' FROM t0_template | ||
4913 | 18702 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4914 | 18703 | CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW | ||
4915 | 18704 | BEGIN | ||
4916 | 18705 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
4917 | 18706 | f_charbig = 'updated by trigger' | ||
4918 | 18707 | WHERE f_int1 = - old.f_int1; | ||
4919 | 18708 | END| | ||
4920 | 18709 | UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2 | ||
4921 | 18710 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
4922 | 18711 | |||
4923 | 18712 | # check trigger-6 success: 1 | ||
4924 | 18713 | DROP TRIGGER trg_1; | ||
4925 | 18714 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
4926 | 18715 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
4927 | 18716 | f_charbig = 'just inserted' | ||
4928 | 18717 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
4929 | 18718 | DELETE FROM t0_aux | ||
4930 | 18719 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4931 | 18720 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4932 | 18721 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
4933 | 18722 | 'just inserted' FROM t0_template | ||
4934 | 18723 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4935 | 18724 | CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW | ||
4936 | 18725 | BEGIN | ||
4937 | 18726 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
4938 | 18727 | f_charbig = 'updated by trigger' | ||
4939 | 18728 | WHERE f_int1 = - old.f_int1; | ||
4940 | 18729 | END| | ||
4941 | 18730 | DELETE FROM t0_aux | ||
4942 | 18731 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
4943 | 18732 | |||
4944 | 18733 | # check trigger-7 success: 1 | ||
4945 | 18734 | DROP TRIGGER trg_1; | ||
4946 | 18735 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
4947 | 18736 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
4948 | 18737 | f_charbig = 'just inserted' | ||
4949 | 18738 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
4950 | 18739 | DELETE FROM t0_aux | ||
4951 | 18740 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4952 | 18741 | INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig) | ||
4953 | 18742 | SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR), | ||
4954 | 18743 | 'just inserted' FROM t0_template | ||
4955 | 18744 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4956 | 18745 | CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW | ||
4957 | 18746 | BEGIN | ||
4958 | 18747 | UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2, | ||
4959 | 18748 | f_charbig = 'updated by trigger' | ||
4960 | 18749 | WHERE f_int1 = - old.f_int1; | ||
4961 | 18750 | END| | ||
4962 | 18751 | DELETE FROM t0_aux | ||
4963 | 18752 | WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1)); | ||
4964 | 18753 | |||
4965 | 18754 | # check trigger-8 success: 1 | ||
4966 | 18755 | DROP TRIGGER trg_1; | ||
4967 | 18756 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
4968 | 18757 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
4969 | 18758 | f_charbig = 'just inserted' | ||
4970 | 18759 | WHERE f_int1 <> CAST(f_char1 AS SIGNED INT); | ||
4971 | 18760 | DELETE FROM t0_aux | ||
4972 | 18761 | WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4973 | 18762 | DELETE FROM t1 | ||
4974 | 18763 | WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1; | ||
4975 | 18764 | CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW | ||
4976 | 18765 | BEGIN | ||
4977 | 18766 | SET new.f_int1 = old.f_int1 + @max_row, | ||
4978 | 18767 | new.f_int2 = old.f_int2 - @max_row, | ||
4979 | 18768 | new.f_charbig = '####updated per update trigger####'; | ||
4980 | 18769 | END| | ||
4981 | 18770 | UPDATE t1 | ||
4982 | 18771 | SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row, | ||
4983 | 18772 | f_charbig = '####updated per update statement itself####'; | ||
4984 | 18773 | |||
4985 | 18774 | # check trigger-9 success: 1 | ||
4986 | 18775 | DROP TRIGGER trg_2; | ||
4987 | 18776 | UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT), | ||
4988 | 18777 | f_int2 = CAST(f_char1 AS SIGNED INT), | ||
4989 | 18778 | f_charbig = CONCAT('===',f_char1,'==='); | ||
4990 | 18779 | CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW | ||
4991 | 18780 | BEGIN | ||
4992 | 18781 | SET new.f_int1 = new.f_int1 + @max_row, | ||
4993 | 18782 | new.f_int2 = new.f_int2 - @max_row, | ||
4994 | 18783 | new.f_charbig = '####updated per update trigger####'; | ||
4995 | 18784 | END| | ||
4996 | 18785 | UPDATE t1 | ||
4997 | 18786 | SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row, | ||
4998 | 18787 | f_charbig = '####updated per update statement itself####'; | ||
4999 | 18788 | |||
5000 | 18789 | # check trigger-10 success: 1 |
The diff has been truncated for viewing.
Ignore the diff shown in this MP (don't know how all of that got here)
The diff (from fix) is only the https:/ /bazaar. launchpad. net/~raghavendr a-prabhu/ percona- xtradb- cluster/ release- 5.5.31/ revision/ 416 (from revision 416).